Class ProxmoxTemplate

java.lang.Object
org.jenkinsci.plugins.proxmox.ProxmoxTemplate
All Implemented Interfaces:
Describable<ProxmoxTemplate>

public class ProxmoxTemplate extends Object implements Describable<ProxmoxTemplate>
  • Constructor Details

    • ProxmoxTemplate

      @DataBoundConstructor public ProxmoxTemplate(String name, String node, int templateVmId, String labelString, int numExecutors)
  • Method Details

    • matches

      public boolean matches(Label label)
    • provision

      public ProxmoxAgent provision(ProxmoxCloud cloud, TaskListener listener, int newVmId, org.jenkinsci.plugins.cloudstats.ProvisioningActivity.Id activityId) throws Exception
      Clone, configure, and start a VM for the given pre-reserved id, returning the agent. The id is reserved by ProxmoxCloud.reserveVmId() under a short lock so concurrent provisions get distinct ids; the clone/start here runs outside that lock so agents come up in parallel.
      Throws:
      Exception
    • getNumActiveAgents

      public int getNumActiveAgents(ProxmoxCloud cloud)
      Functional agents from this template, for per-template instance-cap accounting. Offline-dead nodes are excluded (mirrors ProxmoxCloud.getRunningAgentCount()) so a dead node cannot hold a cap slot and block a working replacement (issues #16, #17).
    • getLabelSet

      public Set<LabelAtom> getLabelSet()
    • getName

      public String getName()
    • getNode

      public String getNode()
    • getTemplateVmId

      public int getTemplateVmId()
    • getLabelString

      public String getLabelString()
    • getNumExecutors

      public int getNumExecutors()
    • getCloneStrategy

      public CloneStrategy getCloneStrategy()
    • getTargetStorage

      public String getTargetStorage()
    • getTargetPool

      public String getTargetPool()
    • getCores

      public int getCores()
    • getMemory

      public int getMemory()
    • getDiskSizeGb

      public int getDiskSizeGb()
    • getNetworkBridge

      public String getNetworkBridge()
    • getRemoteFs

      public String getRemoteFs()
    • getMode

      public Node.Mode getMode()
    • getCredentialsId

      public String getCredentialsId()
    • getJavaPath

      public String getJavaPath()
    • getJvmOptions

      public String getJvmOptions()
    • getJavaDistribution

      public JavaDistribution getJavaDistribution()
    • getJavaMajorVersion

      public int getJavaMajorVersion()
    • getIdleTerminationMinutes

      public int getIdleTerminationMinutes()
    • getInstanceCap

      public int getInstanceCap()
    • getInstanceMin

      public int getInstanceMin()
    • getMaxTotalUses

      public int getMaxTotalUses()
    • getNamePrefix

      public String getNamePrefix()
    • getStartupWaitSeconds

      public int getStartupWaitSeconds()
    • getCiUser

      public String getCiUser()
    • getIpConfig

      public String getIpConfig()
    • getNameserver

      public String getNameserver()
    • getSearchDomain

      public String getSearchDomain()
    • setCloneStrategy

      @DataBoundSetter public void setCloneStrategy(CloneStrategy v)
    • setTargetStorage

      @DataBoundSetter public void setTargetStorage(String v)
    • setTargetPool

      @DataBoundSetter public void setTargetPool(String v)
    • setCores

      @DataBoundSetter public void setCores(int v)
    • setMemory

      @DataBoundSetter public void setMemory(int v)
    • setDiskSizeGb

      @DataBoundSetter public void setDiskSizeGb(int v)
    • setNetworkBridge

      @DataBoundSetter public void setNetworkBridge(String v)
    • setRemoteFs

      @DataBoundSetter public void setRemoteFs(String v)
    • setMode

      @DataBoundSetter public void setMode(Node.Mode v)
    • setCredentialsId

      @DataBoundSetter public void setCredentialsId(String v)
    • setJavaPath

      @DataBoundSetter public void setJavaPath(String v)
    • setJvmOptions

      @DataBoundSetter public void setJvmOptions(String v)
    • setJavaDistribution

      @DataBoundSetter public void setJavaDistribution(JavaDistribution v)
    • setJavaMajorVersion

      @DataBoundSetter public void setJavaMajorVersion(int v)
    • setIdleTerminationMinutes

      @DataBoundSetter public void setIdleTerminationMinutes(int v)
    • setInstanceCap

      @DataBoundSetter public void setInstanceCap(int v)
    • setInstanceMin

      @DataBoundSetter public void setInstanceMin(int v)
    • setMaxTotalUses

      @DataBoundSetter public void setMaxTotalUses(int v)
    • setNamePrefix

      @DataBoundSetter public void setNamePrefix(String v)
    • setStartupWaitSeconds

      @DataBoundSetter public void setStartupWaitSeconds(int v)
    • setCiUser

      @DataBoundSetter public void setCiUser(String v)
    • setIpConfig

      @DataBoundSetter public void setIpConfig(String v)
    • setNameserver

      @DataBoundSetter public void setNameserver(String v)
    • setSearchDomain

      @DataBoundSetter public void setSearchDomain(String v)
    • getDescriptor

      public Descriptor<ProxmoxTemplate> getDescriptor()
      Specified by:
      getDescriptor in interface Describable<ProxmoxTemplate>