types.go 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. package types
  2. import (
  3. "time"
  4. "github.com/docker/docker/daemon/network"
  5. "github.com/docker/docker/pkg/version"
  6. "github.com/docker/docker/runconfig"
  7. )
  8. // ContainerCreateResponse contains the information returned to a client on the
  9. // creation of a new container.
  10. type ContainerCreateResponse struct {
  11. // ID is the ID of the created container.
  12. ID string `json:"Id"`
  13. // Warnings are any warnings encountered during the creation of the container.
  14. Warnings []string `json:"Warnings"`
  15. }
  16. // POST /containers/{name:.*}/exec
  17. type ContainerExecCreateResponse struct {
  18. // ID is the exec ID.
  19. ID string `json:"Id"`
  20. }
  21. // POST /auth
  22. type AuthResponse struct {
  23. // Status is the authentication status
  24. Status string `json:"Status"`
  25. }
  26. // POST "/containers/"+containerID+"/wait"
  27. type ContainerWaitResponse struct {
  28. // StatusCode is the status code of the wait job
  29. StatusCode int `json:"StatusCode"`
  30. }
  31. // POST "/commit?container="+containerID
  32. type ContainerCommitResponse struct {
  33. ID string `json:"Id"`
  34. }
  35. // GET "/containers/{name:.*}/changes"
  36. type ContainerChange struct {
  37. Kind int
  38. Path string
  39. }
  40. // GET "/images/{name:.*}/history"
  41. type ImageHistory struct {
  42. ID string `json:"Id"`
  43. Created int64
  44. CreatedBy string
  45. Tags []string
  46. Size int64
  47. Comment string
  48. }
  49. // DELETE "/images/{name:.*}"
  50. type ImageDelete struct {
  51. Untagged string `json:",omitempty"`
  52. Deleted string `json:",omitempty"`
  53. }
  54. // GET "/images/json"
  55. type Image struct {
  56. ID string `json:"Id"`
  57. ParentId string
  58. RepoTags []string
  59. RepoDigests []string
  60. Created int
  61. Size int
  62. VirtualSize int
  63. Labels map[string]string
  64. }
  65. // GET "/images/{name:.*}/json"
  66. type ImageInspect struct {
  67. Id string
  68. Parent string
  69. Comment string
  70. Created time.Time
  71. Container string
  72. ContainerConfig *runconfig.Config
  73. DockerVersion string
  74. Author string
  75. Config *runconfig.Config
  76. Architecture string
  77. Os string
  78. Size int64
  79. VirtualSize int64
  80. }
  81. type LegacyImage struct {
  82. ID string `json:"Id"`
  83. Repository string
  84. Tag string
  85. Created int
  86. Size int
  87. VirtualSize int
  88. }
  89. // GET "/containers/json"
  90. type Port struct {
  91. IP string
  92. PrivatePort int
  93. PublicPort int
  94. Type string
  95. }
  96. type Container struct {
  97. ID string `json:"Id"`
  98. Names []string `json:",omitempty"`
  99. Image string `json:",omitempty"`
  100. Command string `json:",omitempty"`
  101. Created int `json:",omitempty"`
  102. Ports []Port `json:",omitempty"`
  103. SizeRw int `json:",omitempty"`
  104. SizeRootFs int `json:",omitempty"`
  105. Labels map[string]string `json:",omitempty"`
  106. Status string `json:",omitempty"`
  107. }
  108. // POST "/containers/"+containerID+"/copy"
  109. type CopyConfig struct {
  110. Resource string
  111. }
  112. // GET "/containers/{name:.*}/top"
  113. type ContainerProcessList struct {
  114. Processes [][]string
  115. Titles []string
  116. }
  117. type Version struct {
  118. Version string
  119. ApiVersion version.Version
  120. GitCommit string
  121. GoVersion string
  122. Os string
  123. Arch string
  124. KernelVersion string `json:",omitempty"`
  125. }
  126. // GET "/info"
  127. type Info struct {
  128. ID string
  129. Containers int
  130. Images int
  131. Driver string
  132. DriverStatus [][2]string
  133. MemoryLimit bool
  134. SwapLimit bool
  135. CpuCfsPeriod bool
  136. CpuCfsQuota bool
  137. IPv4Forwarding bool
  138. Debug bool
  139. NFd int
  140. OomKillDisable bool
  141. NGoroutines int
  142. SystemTime string
  143. ExecutionDriver string
  144. LoggingDriver string
  145. NEventsListener int
  146. KernelVersion string
  147. OperatingSystem string
  148. IndexServerAddress string
  149. RegistryConfig interface{}
  150. InitSha1 string
  151. InitPath string
  152. NCPU int
  153. MemTotal int64
  154. DockerRootDir string
  155. HttpProxy string
  156. HttpsProxy string
  157. NoProxy string
  158. Name string
  159. Labels []string
  160. }
  161. // This struct is a temp struct used by execStart
  162. // Config fields is part of ExecConfig in runconfig package
  163. type ExecStartCheck struct {
  164. // ExecStart will first check if it's detached
  165. Detach bool
  166. // Check if there's a tty
  167. Tty bool
  168. }
  169. type ContainerState struct {
  170. Running bool
  171. Paused bool
  172. Restarting bool
  173. OOMKilled bool
  174. Dead bool
  175. Pid int
  176. ExitCode int
  177. Error string
  178. StartedAt time.Time
  179. FinishedAt time.Time
  180. }
  181. // GET "/containers/{name:.*}/json"
  182. type ContainerJSON struct {
  183. Id string
  184. Created time.Time
  185. Path string
  186. Args []string
  187. Config *runconfig.Config
  188. State *ContainerState
  189. Image string
  190. NetworkSettings *network.Settings
  191. ResolvConfPath string
  192. HostnamePath string
  193. HostsPath string
  194. LogPath string
  195. Name string
  196. RestartCount int
  197. Driver string
  198. ExecDriver string
  199. MountLabel string
  200. ProcessLabel string
  201. Volumes map[string]string
  202. VolumesRW map[string]bool
  203. AppArmorProfile string
  204. ExecIDs []string
  205. HostConfig *runconfig.HostConfig
  206. }