Files
kata-containers/virtcontainers/types/container.go
Peng Tao 616f26cfe5 types: split sandbox and container state
Since they do not really share many of the fields.

Fixes: #1434

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2019-04-09 18:59:56 -07:00

34 lines
925 B
Go

// Copyright (c) 2019 hyper.sh
//
// SPDX-License-Identifier: Apache-2.0
//
package types
// ContainerState is a sandbox state structure.
type ContainerState struct {
State StateString `json:"state"`
BlockDeviceID string
// Index of the block device passed to hypervisor.
BlockIndex int `json:"blockIndex"`
// File system of the rootfs incase it is block device
Fstype string `json:"fstype"`
// CgroupPath is the cgroup hierarchy where sandbox's processes
// including the hypervisor are placed.
CgroupPath string `json:"cgroupPath,omitempty"`
}
// Valid checks that the container state is valid.
func (state *ContainerState) Valid() bool {
return state.State.valid()
}
// ValidTransition returns an error if we want to move to
// an unreachable state.
func (state *ContainerState) ValidTransition(oldState StateString, newState StateString) error {
return state.State.validTransition(oldState, newState)
}