pub struct ClusterTopologyControlPlaneMachineHealthCheck {
pub enable: Option<bool>,
pub max_unhealthy: Option<IntOrString>,
pub node_startup_timeout: Option<String>,
pub remediation_template: Option<ObjectReference>,
pub unhealthy_conditions: Option<Vec<ClusterTopologyControlPlaneMachineHealthCheckUnhealthyConditions>>,
pub unhealthy_range: Option<String>,
}
Expand description
machineHealthCheck allows to enable, disable and override the MachineHealthCheck configuration in the ClusterClass for this control plane.
Fields§
§enable: Option<bool>
enable controls if a MachineHealthCheck should be created for the target machines.
If false: No MachineHealthCheck will be created.
If not set(default): A MachineHealthCheck will be created if it is defined here or in the associated ClusterClass. If no MachineHealthCheck is defined then none will be created.
If true: A MachineHealthCheck is guaranteed to be created. Cluster validation will
block if enable
is true and no MachineHealthCheck definition is available.
max_unhealthy: Option<IntOrString>
maxUnhealthy specifies the maximum number of unhealthy machines allowed. Any further remediation is only allowed if at most “maxUnhealthy” machines selected by “selector” are not healthy.
node_startup_timeout: Option<String>
nodeStartupTimeout allows to set the maximum time for MachineHealthCheck
to consider a Machine unhealthy if a corresponding Node isn’t associated
through a Spec.ProviderID
field.
The duration set in this field is compared to the greatest of:
- Cluster’s infrastructure ready condition timestamp (if and when available)
- Control Plane’s initialized condition timestamp (if and when available)
- Machine’s infrastructure ready condition timestamp (if and when available)
- Machine’s metadata creation timestamp
Defaults to 10 minutes. If you wish to disable this feature, set the value explicitly to 0.
remediation_template: Option<ObjectReference>
remediationTemplate is a reference to a remediation template provided by an infrastructure provider.
This field is completely optional, when filled, the MachineHealthCheck controller creates a new object from the template referenced and hands off remediation of the machine to a controller that lives outside of Cluster API.
unhealthy_conditions: Option<Vec<ClusterTopologyControlPlaneMachineHealthCheckUnhealthyConditions>>
unhealthyConditions contains a list of the conditions that determine whether a node is considered unhealthy. The conditions are combined in a logical OR, i.e. if any of the conditions is met, the node is unhealthy.
unhealthy_range: Option<String>
unhealthyRange specifies the range of unhealthy machines allowed. Any further remediation is only allowed if the number of machines selected by “selector” as not healthy is within the range of “unhealthyRange”. Takes precedence over maxUnhealthy. Eg. “[3-5]” - This means that remediation will be allowed only when: (a) there are at least 3 unhealthy machines (and) (b) there are at most 5 unhealthy machines
Trait Implementations§
Source§impl Clone for ClusterTopologyControlPlaneMachineHealthCheck
impl Clone for ClusterTopologyControlPlaneMachineHealthCheck
Source§fn clone(&self) -> ClusterTopologyControlPlaneMachineHealthCheck
fn clone(&self) -> ClusterTopologyControlPlaneMachineHealthCheck
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Default for ClusterTopologyControlPlaneMachineHealthCheck
impl Default for ClusterTopologyControlPlaneMachineHealthCheck
Source§fn default() -> ClusterTopologyControlPlaneMachineHealthCheck
fn default() -> ClusterTopologyControlPlaneMachineHealthCheck
Source§impl<'de> Deserialize<'de> for ClusterTopologyControlPlaneMachineHealthCheck
impl<'de> Deserialize<'de> for ClusterTopologyControlPlaneMachineHealthCheck
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for ClusterTopologyControlPlaneMachineHealthCheck
impl JsonSchema for ClusterTopologyControlPlaneMachineHealthCheck
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref
keyword. Read moreSource§impl PartialEq for ClusterTopologyControlPlaneMachineHealthCheck
impl PartialEq for ClusterTopologyControlPlaneMachineHealthCheck
Source§fn eq(&self, other: &ClusterTopologyControlPlaneMachineHealthCheck) -> bool
fn eq(&self, other: &ClusterTopologyControlPlaneMachineHealthCheck) -> bool
self
and other
values to be equal, and is used by ==
.impl StructuralPartialEq for ClusterTopologyControlPlaneMachineHealthCheck
Auto Trait Implementations§
impl Freeze for ClusterTopologyControlPlaneMachineHealthCheck
impl RefUnwindSafe for ClusterTopologyControlPlaneMachineHealthCheck
impl Send for ClusterTopologyControlPlaneMachineHealthCheck
impl Sync for ClusterTopologyControlPlaneMachineHealthCheck
impl Unpin for ClusterTopologyControlPlaneMachineHealthCheck
impl UnwindSafe for ClusterTopologyControlPlaneMachineHealthCheck
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more