package com.nirima.jenkins.plugins.docker;
/**
* @author Kanstantsin Shautsou
*/
public enum DockerImagePullStrategy {
PULL_ALWAYS("Pull all images every time") {
@Override
public boolean pullIfNotExists(String imageName) {
return true;
}
@Override
public boolean pullIfExists(String imageName) {
return true;
}
},
PULL_LATEST("Pull once and update latest") {
@Override
public boolean pullIfNotExists(String imageName) {
return true;
}
@Override
public boolean pullIfExists(String imageName) {
return imageName.endsWith(":latest");
}
},
PULL_NEVER("Never pull") {
@Override
public boolean pullIfNotExists(String imageName) {
return false;
}
@Override
public boolean pullIfExists(String imageName) {
return false;
}
};
private final String description;
DockerImagePullStrategy(String description) {
this.description = description;
}
public String getDescription() {
//TODO add {@link #Locale.class}?
return description;
}
public abstract boolean pullIfNotExists(String imageName);
public abstract boolean pullIfExists(String imageName);
}