2016-03-18 18:53:27 +00:00
|
|
|
package libcontainerd
|
|
|
|
|
2016-08-17 22:46:28 +00:00
|
|
|
import (
|
|
|
|
"github.com/Microsoft/hcsshim"
|
|
|
|
"github.com/docker/docker/libcontainerd/windowsoci"
|
|
|
|
)
|
2016-03-18 18:53:27 +00:00
|
|
|
|
|
|
|
// Spec is the base configuration for the container.
|
2016-09-12 19:02:14 +00:00
|
|
|
type Spec windowsoci.Spec
|
2016-03-18 18:53:27 +00:00
|
|
|
|
|
|
|
// Process contains information to start a specific application inside the container.
|
|
|
|
type Process windowsoci.Process
|
|
|
|
|
|
|
|
// User specifies user information for the containers main process.
|
|
|
|
type User windowsoci.User
|
|
|
|
|
2016-08-17 22:46:28 +00:00
|
|
|
// Summary contains a ProcessList item from HCS to support `top`
|
|
|
|
type Summary hcsshim.ProcessListItem
|
2016-03-20 22:58:23 +00:00
|
|
|
|
2016-04-02 00:02:38 +00:00
|
|
|
// StateInfo contains description about the new state container has entered.
|
|
|
|
type StateInfo struct {
|
|
|
|
CommonStateInfo
|
|
|
|
|
|
|
|
// Platform specific StateInfo
|
2016-04-13 20:34:07 +00:00
|
|
|
|
|
|
|
UpdatePending bool // Indicates that there are some update operations pending that should be completed by a servicing container.
|
2016-04-02 00:02:38 +00:00
|
|
|
}
|
|
|
|
|
2016-09-07 23:08:51 +00:00
|
|
|
// Stats contains statics from HCS
|
|
|
|
type Stats hcsshim.Statistics
|
2016-03-18 18:53:27 +00:00
|
|
|
|
|
|
|
// Resources defines updatable container resource values.
|
|
|
|
type Resources struct{}
|
2016-04-13 20:34:07 +00:00
|
|
|
|
2016-08-17 23:10:01 +00:00
|
|
|
// ServicingOption is an empty CreateOption with a no-op application that signifies
|
|
|
|
// the container needs to be used for a Windows servicing operation.
|
2016-04-13 20:34:07 +00:00
|
|
|
type ServicingOption struct {
|
|
|
|
IsServicing bool
|
|
|
|
}
|
2016-05-12 14:52:00 +00:00
|
|
|
|
2016-09-16 17:41:47 +00:00
|
|
|
// FlushOption is an empty CreateOption that signifies if the container should be
|
|
|
|
// started with flushes ignored until boot has completed. This is an optimisation
|
|
|
|
// for first boot of a container.
|
|
|
|
type FlushOption struct {
|
|
|
|
IgnoreFlushesDuringBoot bool
|
|
|
|
}
|
|
|
|
|
2016-09-19 21:47:48 +00:00
|
|
|
// HyperVIsolationOption is a CreateOption that indicates whether the runtime
|
|
|
|
// should start the container as a Hyper-V container, and if so, the sandbox path.
|
|
|
|
type HyperVIsolationOption struct {
|
|
|
|
IsHyperV bool
|
|
|
|
SandboxPath string `json:",omitempty"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// LayerOption is a CreateOption that indicates to the runtime the layer folder
|
|
|
|
// and layer paths for a container.
|
|
|
|
type LayerOption struct {
|
|
|
|
// LayerFolder is the path to the current layer folder. Empty for Hyper-V containers.
|
|
|
|
LayerFolderPath string `json:",omitempty"`
|
|
|
|
// Layer paths of the parent layers
|
|
|
|
LayerPaths []string
|
|
|
|
}
|
|
|
|
|
2016-05-12 14:52:00 +00:00
|
|
|
// Checkpoint holds the details of a checkpoint (not supported in windows)
|
|
|
|
type Checkpoint struct {
|
|
|
|
Name string
|
|
|
|
}
|
|
|
|
|
|
|
|
// Checkpoints contains the details of a checkpoint
|
|
|
|
type Checkpoints struct {
|
|
|
|
Checkpoints []*Checkpoint
|
|
|
|
}
|