package com.nirima.jenkins.plugins.docker.strategy;
import hudson.Extension;
import hudson.slaves.CloudRetentionStrategy;
import hudson.slaves.RetentionStrategy;
import org.kohsuke.accmod.Restricted;
import org.kohsuke.accmod.restrictions.NoExternalUse;
import org.kohsuke.stapler.DataBoundConstructor;
/**
* {@link CloudRetentionStrategy} that has Descriptor and UI with description
*/
public class DockerCloudRetentionStrategy extends CloudRetentionStrategy {
private int idleMinutes = 0;
@DataBoundConstructor
public DockerCloudRetentionStrategy(int idleMinutes) {
super(idleMinutes);
this.idleMinutes = idleMinutes;
}
public int getIdleMinutes() {
return idleMinutes;
}
@Override
public DescriptorImpl getDescriptor() {
return DESCRIPTOR;
}
@Restricted(NoExternalUse.class)
public static final DescriptorImpl DESCRIPTOR = new DescriptorImpl();
@Extension
public static final class DescriptorImpl extends hudson.model.Descriptor<RetentionStrategy<?>> {
@Override
public String getDisplayName() {
return "Docker Cloud Retention Strategy";
}
}
}