Package hudson.slaves
Class CloudProvisioningListener
java.lang.Object
hudson.slaves.CloudProvisioningListener
- All Implemented Interfaces:
ExtensionPoint
- Since:
- 1.520
- Author:
- Ryan Campbell
-
Nested Class Summary
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionall()
All the registeredCloudProvisioningListener
s.canProvision
(Cloud cloud, Label label, int numExecutors) Deprecated.canProvision
(Cloud cloud, Cloud.CloudState state, int numExecutors) Allows extensions to prevent a cloud from provisioning.void
onCommit
(NodeProvisioner.PlannedNode plannedNode, Node node) Called when thenode
is fully connected in the Jenkins.void
onComplete
(NodeProvisioner.PlannedNode plannedNode, Node node) Called when theNodeProvisioner.PlannedNode.future
completes.void
onFailure
(NodeProvisioner.PlannedNode plannedNode, Throwable t) Called whenNodeProvisioner.PlannedNode.future
Future.get()
throws an exception.void
onRollback
(NodeProvisioner.PlannedNode plannedNode, Node node, Throwable t) Called whenJenkins.addNode(Node)
throws an exception.void
onStarted
(Cloud cloud, Label label, Collection<NodeProvisioner.PlannedNode> plannedNodes) Called after a cloud has returned a PlannedNode, but before that node is necessarily ready for connection.
-
Constructor Details
-
CloudProvisioningListener
public CloudProvisioningListener()
-
-
Method Details
-
canProvision
Deprecated.UsecanProvision(Cloud, Cloud.CloudState, int)
)} instead.Allows extensions to prevent a cloud from provisioning. Return null to allow provisioning, or non-null to prevent it.- Parameters:
cloud
- The cloud being provisioned from.label
- The label which requires additional capacity. IE, theNodeProvisioner.label
. May be null if provisioning for unlabeled builds.numExecutors
- The number of executors needed.- Returns:
null
if provisioning can proceed, or aCauseOfBlockage
reason why it cannot be provisioned.
-
canProvision
Allows extensions to prevent a cloud from provisioning. Return null to allow provisioning, or non-null to prevent it.- Parameters:
cloud
- The cloud being provisioned from.state
- The current cloud state.numExecutors
- The number of executors needed.- Returns:
null
if provisioning can proceed, or aCauseOfBlockage
reason why it cannot be provisioned.
-
onStarted
public void onStarted(Cloud cloud, Label label, Collection<NodeProvisioner.PlannedNode> plannedNodes) Called after a cloud has returned a PlannedNode, but before that node is necessarily ready for connection.- Parameters:
cloud
- the cloud doing the provisioninglabel
- the label which requires additional capacity. IE, theNodeProvisioner.label
May be null if provisioning for unlabeled builds.plannedNodes
- the planned nodes
-
onComplete
Called when theNodeProvisioner.PlannedNode.future
completes.- Parameters:
plannedNode
- the plannedNode which resulted in thenode
being provisionednode
- the node which has been provisioned by the cloud
-
onCommit
Called when thenode
is fully connected in the Jenkins.- Parameters:
plannedNode
- the plannedNode which resulted in thenode
being provisionednode
- the node which has been provisioned by the cloud- Since:
- 2.37
-
onFailure
Called whenNodeProvisioner.PlannedNode.future
Future.get()
throws an exception.- Parameters:
plannedNode
- the planned node which failed to provisiont
- the exception
-
onRollback
public void onRollback(@NonNull NodeProvisioner.PlannedNode plannedNode, @NonNull Node node, @NonNull Throwable t) Called whenJenkins.addNode(Node)
throws an exception.- Parameters:
plannedNode
- the plannedNode which resulted in thenode
being provisionednode
- the node which has been provisioned by the cloudt
- the exception- Since:
- 2.37
-
all
All the registeredCloudProvisioningListener
s.
-
canProvision(Cloud, Cloud.CloudState, int)
)} instead.