mirror of
https://github.com/containers/podman.git
synced 2025-05-23 10:07:33 +08:00

Automated for .go files via gomove [1]: `gomove github.com/containers/podman/v3 github.com/containers/podman/v4` Remaining files via vgrep [2]: `vgrep github.com/containers/podman/v3` [1] https://github.com/KSubedi/gomove [2] https://github.com/vrothberg/vgrep Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
35 lines
983 B
Go
35 lines
983 B
Go
package specgenutil
|
|
|
|
import (
|
|
"github.com/containers/common/pkg/config"
|
|
"github.com/containers/podman/v4/pkg/domain/entities"
|
|
"github.com/pkg/errors"
|
|
)
|
|
|
|
// validate determines if the flags and values given by the user are valid. things checked
|
|
// by validate must not need any state information on the flag (i.e. changed)
|
|
func validate(c *entities.ContainerCreateOptions) error {
|
|
var ()
|
|
if c.Rm && (c.Restart != "" && c.Restart != "no" && c.Restart != "on-failure") {
|
|
return errors.Errorf(`the --rm option conflicts with --restart, when the restartPolicy is not "" and "no"`)
|
|
}
|
|
|
|
if _, err := config.ParsePullPolicy(c.Pull); err != nil {
|
|
return err
|
|
}
|
|
|
|
var imageVolType = map[string]string{
|
|
"bind": "",
|
|
"tmpfs": "",
|
|
"ignore": "",
|
|
}
|
|
if _, ok := imageVolType[c.ImageVolume]; !ok {
|
|
if c.IsInfra {
|
|
c.ImageVolume = "bind"
|
|
} else {
|
|
return errors.Errorf("invalid image-volume type %q. Pick one of bind, tmpfs, or ignore", c.ImageVolume)
|
|
}
|
|
}
|
|
return nil
|
|
}
|