pub struct MachineSetTemplateSpec {
pub bootstrap: MachineSetTemplateSpecBootstrap,
pub cluster_name: String,
pub failure_domain: Option<String>,
pub infrastructure_ref: ObjectReference,
pub node_deletion_timeout: Option<String>,
pub node_drain_timeout: Option<String>,
pub node_volume_detach_timeout: Option<String>,
pub provider_id: Option<String>,
pub readiness_gates: Option<Vec<MachineSetTemplateSpecReadinessGates>>,
pub version: Option<String>,
}
Expand description
spec is the specification of the desired behavior of the machine. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Fields§
§bootstrap: MachineSetTemplateSpecBootstrap
bootstrap is a reference to a local struct which encapsulates fields to configure the Machine’s bootstrapping mechanism.
cluster_name: String
clusterName is the name of the Cluster this object belongs to.
failure_domain: Option<String>
failureDomain is the failure domain the machine will be created in. Must match a key in the FailureDomains map stored on the cluster object.
infrastructure_ref: ObjectReference
infrastructureRef is a required reference to a custom resource offered by an infrastructure provider.
node_deletion_timeout: Option<String>
nodeDeletionTimeout defines how long the controller will attempt to delete the Node that the Machine hosts after the Machine is marked for deletion. A duration of 0 will retry deletion indefinitely. Defaults to 10 seconds.
node_drain_timeout: Option<String>
nodeDrainTimeout is the total amount of time that the controller will spend on draining a node.
The default value is 0, meaning that the node can be drained without any time limitations.
NOTE: NodeDrainTimeout is different from kubectl drain --timeout
node_volume_detach_timeout: Option<String>
nodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes to be detached. The default value is 0, meaning that the volumes can be detached without any time limitations.
provider_id: Option<String>
providerID is the identification ID of the machine provided by the provider. This field must match the provider ID as seen on the node object corresponding to this machine. This field is required by higher level consumers of cluster-api. Example use case is cluster autoscaler with cluster-api as provider. Clean-up logic in the autoscaler compares machines to nodes to find out machines at provider which could not get registered as Kubernetes nodes. With cluster-api as a generic out-of-tree provider for autoscaler, this field is required by autoscaler to be able to have a provider view of the list of machines. Another list of nodes is queried from the k8s apiserver and then a comparison is done to find out unregistered machines and are marked for delete. This field will be set by the actuators and consumed by higher level entities like autoscaler that will be interfacing with cluster-api as generic provider.
readiness_gates: Option<Vec<MachineSetTemplateSpecReadinessGates>>
readinessGates specifies additional conditions to include when evaluating Machine Ready condition.
This field can be used e.g. by Cluster API control plane providers to extend the semantic of the Ready condition for the Machine they control, like the kubeadm control provider adding ReadinessGates for the APIServerPodHealthy, SchedulerPodHealthy conditions, etc.
Another example are external controllers, e.g. responsible to install special software/hardware on the Machines; they can include the status of those components with a new condition and add this condition to ReadinessGates.
NOTE: This field is considered only for computing v1beta2 conditions. NOTE: In case readinessGates conditions start with the APIServer, ControllerManager, Scheduler prefix, and all those readiness gates condition are reporting the same message, when computing the Machine’s Ready condition those readinessGates will be replaced by a single entry reporting “Control plane components: “ + message. This helps to improve readability of conditions bubbling up to the Machine’s owner resource / to the Cluster).
version: Option<String>
version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers.
Trait Implementations§
Source§impl Clone for MachineSetTemplateSpec
impl Clone for MachineSetTemplateSpec
Source§fn clone(&self) -> MachineSetTemplateSpec
fn clone(&self) -> MachineSetTemplateSpec
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for MachineSetTemplateSpec
impl Debug for MachineSetTemplateSpec
Source§impl Default for MachineSetTemplateSpec
impl Default for MachineSetTemplateSpec
Source§fn default() -> MachineSetTemplateSpec
fn default() -> MachineSetTemplateSpec
Source§impl<'de> Deserialize<'de> for MachineSetTemplateSpec
impl<'de> Deserialize<'de> for MachineSetTemplateSpec
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 MachineSetTemplateSpec
impl JsonSchema for MachineSetTemplateSpec
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 MachineSetTemplateSpec
impl PartialEq for MachineSetTemplateSpec
Source§fn eq(&self, other: &MachineSetTemplateSpec) -> bool
fn eq(&self, other: &MachineSetTemplateSpec) -> bool
self
and other
values to be equal, and is used by ==
.Source§impl Serialize for MachineSetTemplateSpec
impl Serialize for MachineSetTemplateSpec
impl StructuralPartialEq for MachineSetTemplateSpec
Auto Trait Implementations§
impl Freeze for MachineSetTemplateSpec
impl RefUnwindSafe for MachineSetTemplateSpec
impl Send for MachineSetTemplateSpec
impl Sync for MachineSetTemplateSpec
impl Unpin for MachineSetTemplateSpec
impl UnwindSafe for MachineSetTemplateSpec
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