mirror of
				https://github.com/1Panel-dev/1Panel.git
				synced 2025-10-31 03:07:34 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			198 lines
		
	
	
	
		
			6.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			198 lines
		
	
	
	
		
			6.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package dto
 | |
| 
 | |
| import "time"
 | |
| 
 | |
| type PageContainer struct {
 | |
| 	PageInfo
 | |
| 	Name    string `json:"name"`
 | |
| 	State   string `json:"state" validate:"required,oneof=all created running paused restarting removing exited dead"`
 | |
| 	OrderBy string `json:"orderBy"`
 | |
| 	Order   string `json:"order"`
 | |
| 	Filters string `json:"filters"`
 | |
| }
 | |
| 
 | |
| type InspectReq struct {
 | |
| 	ID   string `json:"id" validate:"required"`
 | |
| 	Type string `json:"type" validate:"required"`
 | |
| }
 | |
| 
 | |
| type ContainerInfo struct {
 | |
| 	ContainerID string `json:"containerID"`
 | |
| 	Name        string `json:"name"`
 | |
| 	ImageId     string `json:"imageID"`
 | |
| 	ImageName   string `json:"imageName"`
 | |
| 	CreateTime  string `json:"createTime"`
 | |
| 	State       string `json:"state"`
 | |
| 	RunTime     string `json:"runTime"`
 | |
| 
 | |
| 	Network []string `json:"network"`
 | |
| 	Ports   []string `json:"ports"`
 | |
| 
 | |
| 	IsFromApp     bool `json:"isFromApp"`
 | |
| 	IsFromCompose bool `json:"isFromCompose"`
 | |
| }
 | |
| 
 | |
| type ResourceLimit struct {
 | |
| 	CPU    int `json:"cpu"`
 | |
| 	Memory int `json:"memory"`
 | |
| }
 | |
| 
 | |
| type ContainerOperate struct {
 | |
| 	ContainerID     string         `json:"containerID"`
 | |
| 	ForcePull       bool           `json:"forcePull"`
 | |
| 	Name            string         `json:"name" validate:"required"`
 | |
| 	Image           string         `json:"image" validate:"required"`
 | |
| 	Network         string         `json:"network"`
 | |
| 	PublishAllPorts bool           `json:"publishAllPorts"`
 | |
| 	ExposedPorts    []PortHelper   `json:"exposedPorts"`
 | |
| 	Tty             bool           `json:"tty"`
 | |
| 	OpenStdin       bool           `json:"openStdin"`
 | |
| 	Cmd             []string       `json:"cmd"`
 | |
| 	Entrypoint      []string       `json:"entrypoint"`
 | |
| 	CPUShares       int64          `json:"cpuShares"`
 | |
| 	NanoCPUs        float64        `json:"nanoCPUs"`
 | |
| 	Memory          float64        `json:"memory"`
 | |
| 	AutoRemove      bool           `json:"autoRemove"`
 | |
| 	Volumes         []VolumeHelper `json:"volumes"`
 | |
| 	Labels          []string       `json:"labels"`
 | |
| 	Env             []string       `json:"env"`
 | |
| 	RestartPolicy   string         `json:"restartPolicy"`
 | |
| }
 | |
| 
 | |
| type ContainerUpgrade struct {
 | |
| 	Name      string `json:"name" validate:"required"`
 | |
| 	Image     string `json:"image" validate:"required"`
 | |
| 	ForcePull bool   `json:"forcePull"`
 | |
| }
 | |
| 
 | |
| type ContainerListStats struct {
 | |
| 	ContainerID string `json:"containerID"`
 | |
| 
 | |
| 	CPUTotalUsage uint64  `json:"cpuTotalUsage"`
 | |
| 	SystemUsage   uint64  `json:"systemUsage"`
 | |
| 	CPUPercent    float64 `json:"cpuPercent"`
 | |
| 	PercpuUsage   int     `json:"percpuUsage"`
 | |
| 
 | |
| 	MemoryCache   uint64  `json:"memoryCache"`
 | |
| 	MemoryUsage   uint64  `json:"memoryUsage"`
 | |
| 	MemoryLimit   uint64  `json:"memoryLimit"`
 | |
| 	MemoryPercent float64 `json:"memoryPercent"`
 | |
| }
 | |
| 
 | |
| type ContainerStats struct {
 | |
| 	CPUPercent float64 `json:"cpuPercent"`
 | |
| 	Memory     float64 `json:"memory"`
 | |
| 	Cache      float64 `json:"cache"`
 | |
| 	IORead     float64 `json:"ioRead"`
 | |
| 	IOWrite    float64 `json:"ioWrite"`
 | |
| 	NetworkRX  float64 `json:"networkRX"`
 | |
| 	NetworkTX  float64 `json:"networkTX"`
 | |
| 
 | |
| 	ShotTime time.Time `json:"shotTime"`
 | |
| }
 | |
| 
 | |
| type VolumeHelper struct {
 | |
| 	SourceDir    string `json:"sourceDir"`
 | |
| 	ContainerDir string `json:"containerDir"`
 | |
| 	Mode         string `json:"mode"`
 | |
| }
 | |
| type PortHelper struct {
 | |
| 	HostIP        string `json:"hostIP"`
 | |
| 	HostPort      string `json:"hostPort"`
 | |
| 	ContainerPort string `json:"containerPort"`
 | |
| 	Protocol      string `json:"protocol"`
 | |
| }
 | |
| 
 | |
| type ContainerOperation struct {
 | |
| 	Names     []string `json:"names" validate:"required"`
 | |
| 	Operation string   `json:"operation" validate:"required,oneof=start stop restart kill pause unpause remove"`
 | |
| }
 | |
| 
 | |
| type ContainerRename struct {
 | |
| 	Name    string `json:"name" validate:"required"`
 | |
| 	NewName string `json:"newName" validate:"required"`
 | |
| }
 | |
| 
 | |
| type ContainerPrune struct {
 | |
| 	PruneType  string `json:"pruneType" validate:"required,oneof=container image volume network"`
 | |
| 	WithTagAll bool   `json:"withTagAll"`
 | |
| }
 | |
| 
 | |
| type ContainerPruneReport struct {
 | |
| 	DeletedNumber  int `json:"deletedNumber"`
 | |
| 	SpaceReclaimed int `json:"spaceReclaimed"`
 | |
| }
 | |
| 
 | |
| type Network struct {
 | |
| 	ID         string    `json:"id"`
 | |
| 	Name       string    `json:"name"`
 | |
| 	Labels     []string  `json:"labels"`
 | |
| 	Driver     string    `json:"driver"`
 | |
| 	IPAMDriver string    `json:"ipamDriver"`
 | |
| 	Subnet     string    `json:"subnet"`
 | |
| 	Gateway    string    `json:"gateway"`
 | |
| 	CreatedAt  time.Time `json:"createdAt"`
 | |
| 	Attachable bool      `json:"attachable"`
 | |
| }
 | |
| type NetworkCreate struct {
 | |
| 	Name    string   `json:"name" validate:"required"`
 | |
| 	Driver  string   `json:"driver" validate:"required"`
 | |
| 	Options []string `json:"options"`
 | |
| 	Subnet  string   `json:"subnet"`
 | |
| 	Gateway string   `json:"gateway"`
 | |
| 	IPRange string   `json:"ipRange"`
 | |
| 	Labels  []string `json:"labels"`
 | |
| }
 | |
| 
 | |
| type Volume struct {
 | |
| 	Name       string    `json:"name"`
 | |
| 	Labels     []string  `json:"labels"`
 | |
| 	Driver     string    `json:"driver"`
 | |
| 	Mountpoint string    `json:"mountpoint"`
 | |
| 	CreatedAt  time.Time `json:"createdAt"`
 | |
| }
 | |
| type VolumeCreate struct {
 | |
| 	Name    string   `json:"name" validate:"required"`
 | |
| 	Driver  string   `json:"driver" validate:"required"`
 | |
| 	Options []string `json:"options"`
 | |
| 	Labels  []string `json:"labels"`
 | |
| }
 | |
| 
 | |
| type BatchDelete struct {
 | |
| 	Names []string `json:"names" validate:"required"`
 | |
| }
 | |
| 
 | |
| type ComposeInfo struct {
 | |
| 	Name            string             `json:"name"`
 | |
| 	CreatedAt       string             `json:"createdAt"`
 | |
| 	CreatedBy       string             `json:"createdBy"`
 | |
| 	ContainerNumber int                `json:"containerNumber"`
 | |
| 	ConfigFile      string             `json:"configFile"`
 | |
| 	Workdir         string             `json:"workdir"`
 | |
| 	Path            string             `json:"path"`
 | |
| 	Containers      []ComposeContainer `json:"containers"`
 | |
| }
 | |
| type ComposeContainer struct {
 | |
| 	ContainerID string `json:"containerID"`
 | |
| 	Name        string `json:"name"`
 | |
| 	CreateTime  string `json:"createTime"`
 | |
| 	State       string `json:"state"`
 | |
| }
 | |
| type ComposeCreate struct {
 | |
| 	Name     string `json:"name"`
 | |
| 	From     string `json:"from" validate:"required,oneof=edit path template"`
 | |
| 	File     string `json:"file"`
 | |
| 	Path     string `json:"path"`
 | |
| 	Template uint   `json:"template"`
 | |
| }
 | |
| type ComposeOperation struct {
 | |
| 	Name      string `json:"name" validate:"required"`
 | |
| 	Path      string `json:"path" validate:"required"`
 | |
| 	Operation string `json:"operation" validate:"required,oneof=start stop down"`
 | |
| 	WithFile  bool   `json:"withFile"`
 | |
| }
 | |
| type ComposeUpdate struct {
 | |
| 	Name    string `json:"name" validate:"required"`
 | |
| 	Path    string `json:"path" validate:"required"`
 | |
| 	Content string `json:"content" validate:"required"`
 | |
| }
 |