mirror of https://github.com/containers/podman.git
				
				
				
			
		
			
				
	
	
		
			74 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Go
		
	
	
	
| package define
 | |
| 
 | |
| import "github.com/pkg/errors"
 | |
| 
 | |
| // ContainerStatus represents the current state of a container
 | |
| type ContainerStatus int
 | |
| 
 | |
| const (
 | |
| 	// ContainerStateUnknown indicates that the container is in an error
 | |
| 	// state where information about it cannot be retrieved
 | |
| 	ContainerStateUnknown ContainerStatus = iota
 | |
| 	// ContainerStateConfigured indicates that the container has had its
 | |
| 	// storage configured but it has not been created in the OCI runtime
 | |
| 	ContainerStateConfigured ContainerStatus = iota
 | |
| 	// ContainerStateCreated indicates the container has been created in
 | |
| 	// the OCI runtime but not started
 | |
| 	ContainerStateCreated ContainerStatus = iota
 | |
| 	// ContainerStateRunning indicates the container is currently executing
 | |
| 	ContainerStateRunning ContainerStatus = iota
 | |
| 	// ContainerStateStopped indicates that the container was running but has
 | |
| 	// exited
 | |
| 	ContainerStateStopped ContainerStatus = iota
 | |
| 	// ContainerStatePaused indicates that the container has been paused
 | |
| 	ContainerStatePaused ContainerStatus = iota
 | |
| 	// ContainerStateExited indicates the the container has stopped and been
 | |
| 	// cleaned up
 | |
| 	ContainerStateExited ContainerStatus = iota
 | |
| )
 | |
| 
 | |
| // ContainerStatus returns a string representation for users
 | |
| // of a container state
 | |
| func (t ContainerStatus) String() string {
 | |
| 	switch t {
 | |
| 	case ContainerStateUnknown:
 | |
| 		return "unknown"
 | |
| 	case ContainerStateConfigured:
 | |
| 		return "configured"
 | |
| 	case ContainerStateCreated:
 | |
| 		return "created"
 | |
| 	case ContainerStateRunning:
 | |
| 		return "running"
 | |
| 	case ContainerStateStopped:
 | |
| 		return "stopped"
 | |
| 	case ContainerStatePaused:
 | |
| 		return "paused"
 | |
| 	case ContainerStateExited:
 | |
| 		return "exited"
 | |
| 	}
 | |
| 	return "bad state"
 | |
| }
 | |
| 
 | |
| // StringToContainerStatus converts a string representation of a containers
 | |
| // status into an actual container status type
 | |
| func StringToContainerStatus(status string) (ContainerStatus, error) {
 | |
| 	switch status {
 | |
| 	case ContainerStateUnknown.String():
 | |
| 		return ContainerStateUnknown, nil
 | |
| 	case ContainerStateConfigured.String():
 | |
| 		return ContainerStateConfigured, nil
 | |
| 	case ContainerStateCreated.String():
 | |
| 		return ContainerStateCreated, nil
 | |
| 	case ContainerStateRunning.String():
 | |
| 		return ContainerStateRunning, nil
 | |
| 	case ContainerStateStopped.String():
 | |
| 		return ContainerStateStopped, nil
 | |
| 	case ContainerStatePaused.String():
 | |
| 		return ContainerStatePaused, nil
 | |
| 	case ContainerStateExited.String():
 | |
| 		return ContainerStateExited, nil
 | |
| 	default:
 | |
| 		return ContainerStateUnknown, errors.Wrapf(ErrInvalidArg, "unknown container state: %s", status)
 | |
| 	}
 | |
| }
 |