2021-02-07 06:49:40 +08:00
|
|
|
package define
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
)
|
|
|
|
|
|
|
|
// PullPolicy takes the value PullIfMissing, PullAlways, PullIfNewer, or PullNever.
|
2024-06-22 03:31:59 +08:00
|
|
|
// N.B.: the enumeration values for this type differ from those used by
|
|
|
|
// github.com/containers/common/pkg/config.PullPolicy (their zero values
|
|
|
|
// indicate different policies), so they are not interchangeable.
|
2021-02-07 06:49:40 +08:00
|
|
|
type PullPolicy int
|
|
|
|
|
|
|
|
const (
|
|
|
|
// PullIfMissing is one of the values that BuilderOptions.PullPolicy
|
|
|
|
// can take, signalling that the source image should be pulled from a
|
|
|
|
// registry if a local copy of it is not already present.
|
|
|
|
PullIfMissing PullPolicy = iota
|
|
|
|
// PullAlways is one of the values that BuilderOptions.PullPolicy can
|
|
|
|
// take, signalling that a fresh, possibly updated, copy of the image
|
|
|
|
// should be pulled from a registry before the build proceeds.
|
|
|
|
PullAlways
|
|
|
|
// PullIfNewer is one of the values that BuilderOptions.PullPolicy
|
|
|
|
// can take, signalling that the source image should only be pulled
|
|
|
|
// from a registry if a local copy is not already present or if a
|
|
|
|
// newer version the image is present on the repository.
|
|
|
|
PullIfNewer
|
|
|
|
// PullNever is one of the values that BuilderOptions.PullPolicy can
|
|
|
|
// take, signalling that the source image should not be pulled from a
|
|
|
|
// registry.
|
|
|
|
PullNever
|
|
|
|
)
|
|
|
|
|
|
|
|
// String converts a PullPolicy into a string.
|
|
|
|
func (p PullPolicy) String() string {
|
|
|
|
switch p {
|
|
|
|
case PullIfMissing:
|
2021-03-05 18:44:54 +08:00
|
|
|
return "missing"
|
2021-02-07 06:49:40 +08:00
|
|
|
case PullAlways:
|
2021-03-05 18:44:54 +08:00
|
|
|
return "always"
|
2021-02-07 06:49:40 +08:00
|
|
|
case PullIfNewer:
|
2021-03-05 18:44:54 +08:00
|
|
|
return "ifnewer"
|
2021-02-07 06:49:40 +08:00
|
|
|
case PullNever:
|
2021-03-05 18:44:54 +08:00
|
|
|
return "never"
|
2021-02-07 06:49:40 +08:00
|
|
|
}
|
|
|
|
return fmt.Sprintf("unrecognized policy %d", p)
|
|
|
|
}
|
|
|
|
|
|
|
|
var PolicyMap = map[string]PullPolicy{
|
|
|
|
"missing": PullIfMissing,
|
|
|
|
"always": PullAlways,
|
|
|
|
"never": PullNever,
|
|
|
|
"ifnewer": PullIfNewer,
|
|
|
|
}
|