@@ -144,6 +144,15 @@ const (
144144 // ExternalRemediationRequestAvailable is set on machinehealthchecks when MachineHealthCheck controller uses external remediation.
145145 // ExternalRemediationRequestAvailable is set to false if creating external remediation request fails.
146146 ExternalRemediationRequestAvailable ConditionType = "ExternalRemediationRequestAvailable"
147+ // MachineDrained is set on a machine to indicate that the machine has been drained. When an error occurs during
148+ // the drain process, the condition will be added with a false status and details of the error.
149+ MachineDrained ConditionType = "Drained"
150+ // MachineDrainable is set on a machine to indicate whether or not the machine can be drained, or, whether some
151+ // deletion hook is blocking the drain operation.
152+ MachineDrainable ConditionType = "Drainable"
153+ // MachineTerminable is set on a machine to indicate whether or not the machine can be terminated, or, whether some
154+ // deletion hook is blocking the termination operation.
155+ MachineTerminable ConditionType = "Terminable"
147156)
148157
149158const (
@@ -165,6 +174,12 @@ const (
165174 ExternalRemediationTemplateNotFound = "ExternalRemediationTemplateNotFound"
166175 // ExternalRemediationRequestCreationFailed is the reason used when a machine health check fails to create external remediation request.
167176 ExternalRemediationRequestCreationFailed = "ExternalRemediationRequestCreationFailed"
177+ // MachineHookPresent indicates that a machine lifecycle hook is blocking part of the lifecycle of the machine.
178+ // This should be used with the `Drainable` and `Terminable` machine condition types.
179+ MachineHookPresent = "HookPresent"
180+ // MachineDrainError indicates an error occurred when draining the machine.
181+ // This should be used with the `Drained` condition type.
182+ MachineDrainError = "DrainError"
168183)
169184
170185// Condition defines an observation of a Machine API resource operational state.
0 commit comments