# README
Create new webhooks
Install kubebuilder
make hack/tools/bin/kubebuilder
Add API to PROJECT https://github.com/aws/eks-anywhere/blob/main/PROJECT
run ./hack/kubebuilder.sh create api --group anywhere --version v1alpha1 --kind WhateverKind
Create new webhooks with kubebuilder
Since we use a non standard (according to kubebuilder) repo structure, kubebuilder commands won't work. For this purpose, we have a script that temporally changes our folder structure to one that kubebuilder understands and restores the original one after executing the kubebuilder command.
Example
./hack/kubebuilder.sh create webhook --group anywhere --version v1alpha1 --defaulting --programmatic-validation --kind WhateverKind
--defaulting
creates mutation webhooks and --programmatic-validation
creates validation webhooks.
Resources:
https://book.kubebuilder.io/cronjob-tutorial/webhook-implementation.html
https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#request
Change webhook marker name to under anywhere.amazonaws.com
The default name in webhook marker is v<kind>.kb.io
, we need to change it to <validation/mutation>.<kind>.anywhere.amazonaws.com
Generate manifests
run make release-manifests
# Packages
No description provided by the author
# Functions
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
GetClusterConfig parses a Cluster object from a multiobject yaml file in disk sets defaults if necessary and validates the Cluster.
No description provided by the author
No description provided by the author
No description provided by the author
GetCloudStackManagementAPIEndpointHostname parses the CloudStackAvailabilityZone's ManagementApiEndpoint URL and returns the hostname.
GetClusterConfig parses a Cluster object from a multiobject yaml file in disk and sets defaults if necessary.
GetClusterDefaultKubernetesVersion returns the default kubernetes version for a Cluster.
GetControlPlaneHostPort retrieves the ControlPlaneConfiguration host and port split defined in the cluster.Spec.
GetDefaultActionsFromBundle constructs a set of default actions for the given osFamily using the bundle as the source of action images.
No description provided by the author
GetNutanixDatacenterConfig parses config in a yaml file and returns a NutanixDatacenterConfig object.
No description provided by the author
No description provided by the author
No description provided by the author
KubeVersionToSemver converts kube version to semver for comparisons.
MapEqual compares two maps to check whether or not they are equal.
Used for generating yaml for generate clusterconfig command.
Used for generating yaml for generate clusterconfig command.
Used for generating yaml for generate clusterconfig command.
Used for generating yaml for generate clusterconfig command.
NewDefaultTinkerbellTemplateConfigCreate returns a default TinkerbellTemplateConfig with the required Tasks and Actions.
Used for generating yaml for generate clusterconfig command.
NewNutanixDatacenterConfigGenerate is used for generating yaml for generate clusterconfig command.
NewNutanixMachineConfigGenerate returns a new instance of NutanixMachineConfigGenerate used for generating yaml for generate clusterconfig command.
Used for generating yaml for generate clusterconfig command.
NewSnowMachineConfigGenerate generates snowMachineConfig example for generate clusterconfig command.
Used for generating yaml for generate clusterconfig command.
Used for generating yaml for generate clusterconfig command.
Used for generating yaml for generate clusterconfig command.
Used for generating yaml for generate clusterconfig command.
OCINamespacesSliceEqual is used to check equality of the OCINamespaces fields of two RegistryMirrorConfiguration.
ParseClusterConfig unmarshalls an API object implementing the KindAccessor interface from a multiobject yaml file in disk.
ParseClusterConfigFromContent unmarshalls an API object implementing the KindAccessor interface from a multiobject yaml content.
No description provided by the author
No description provided by the author
No description provided by the author
SnowIPPoolsSliceEqual compares and returns whether two snow IPPool objects are equal.
No description provided by the author
No description provided by the author
ValidateClusterConfigContent validates a Cluster object without modifying it Some of the validations are a bit heavy and need a network connection.
No description provided by the author
No description provided by the author
ValidateEksaVersionSkew ensures that upgrades are sequential by CLI minor versions.
ValidateEtcdEncryptionConfig validates the etcd encryption configuration.
ValidateKubernetesVersionSkew validates Kubernetes version skew between upgrades.
ValidateVersionSkew validates Kubernetes version skew between valid non-nil versions.
ValidateWorkerKubernetesVersionSkew validates worker node group Kubernetes version skew between upgrades.
No description provided by the author
No description provided by the author
WithCPUpgradeRolloutStrategy allows add UpgradeRolloutStrategy option to cluster config under ControlPlaneConfiguration.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
WithWorkerMachineUpgradeRolloutStrategy allows add UpgradeRolloutStrategy option to cluster config under WorkerNodeGroupConfiguration.
No description provided by the author
No description provided by the author
WorkerNodeGroupConfigurationKubeVersionUnchanged checks if a worker node group's k8s version has not changed.
No description provided by the author
# Constants
AllowDeleteWhenPausedAnnotation is an annotation applied to an EKS-A cluster that allows the deletion of the cluster when paused.
AutoscalerConstraintNotMetReason reports the Cluster status is waiting for autoscaler constraint to be met.
No description provided by the author
No description provided by the author
BinariesCopied reports whether the binaries have been copied over by the component copier container.
No description provided by the author
Cilium is the EKS-A Cilium.
CiliumEnterprise is Isovalents Cilium.
Policy enforcement modes for Cilium.
Policy enforcement modes for Cilium.
Policy enforcement modes for Cilium.
Routing modes for Cilium.
Routing modes for Cilium.
No description provided by the author
CloudStackMachineConfigKind is the kind value for a CloudStackMachineConfig.
ClusterInvalidReason reports that the Cluster spec validation has failed.
constants defined for cluster.go.
CNIPluginsUpgraded reports whether the CNI plugins has been upgraded.
ContainerdUpgraded reports whether containerd has been upgraded.
ControlEndpointDefaultPort defaults cluster control plane endpoint port if not specified.
ControlPlaneComponentsUnhealthyReason reports that the Cluster control plane components are unhealthy.
ControlPlaneInitializationInProgressReason reports that the control plane initilization is in progress.
ControlPlaneInitializedCondition reports that the first control plane instance has been initialized and so the control plane is available and an API server instance is ready for processing requests.
ControlPlaneNotInitializedReason reports that the control plane is not initialized.
ControlPlaneNotReadyReason reports that the control plane is not ready.
ControlPlaneReadyCondition reports the status on the control plane nodes, indicating all those control plane nodes are the right version and are ready, not including the old nodes.
ControlPlaneUpgradeKind stores the kind for ControlPlaneUpgrade.
DatacenterConfigInvalidReason reports that the Cluster datacenterconfig validation has failed.
No description provided by the author
No description provided by the author
DefaultCloudStackUser is the default CloudStackMachingConfig username.
DefaultCNIConfiguredCondition reports the default cni cluster has been configured successfully.
DefaultCNIUpgradeInProgressReason used when cluster is upgrading the default CNI.
DefaultNutanixMachineConfigUser is the default username we set in machine config.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
DevBuildVersion is the version string for the dev build of EKS-A.
No description provided by the author
No description provided by the author
No description provided by the author
EksaVersionInvalidReason reports that the Cluster eksaVersion validation has failed.
ExternalEtcdNotAvailable reports the Cluster status is waiting for Etcd to be available.
No description provided by the author
No description provided by the author
No description provided by the author
FullClone indicates a VM will have no relationship to the source of the clone operation once the operation is complete.
No description provided by the author
HardwareInvalidReason reports that the hardware validation has failed.
InPlaceStrategyType upgrades the machines in-place without rolling out any new nodes.
InPlaceUpgradeInProgress reports the Cluster is executing a in place upgrade to align the nodes to a new desired machine specs.
Kindnetd is the CNI shipped with KinD.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
KubeadmControlPlaneNotReadyReason reports that the kubeadm control plane is not ready.
KubeadmUpgraded reports whether Kubeadm has been upgraded.
KubeletUpgraded reports whether kubelet has been upgraded.
LinkedClone means resulting VMs will be dependent upon the snapshot of the source VM/template from which the VM was cloned.
MachineConfigInvalidReason reports that the Cluster machineconfig validation has failed.
MachineDeploymentNotReadyReason reports that the machine deployment is not ready.
MachineDeploymentUpgradeKind stores the Kind for MachineDeploymentUpgrade.
MachineInvalidReason reports that the baremetal machine validation has failed.
ManagedByCLIAnnotation can be applied to an EKS-A Cluster to signal when the CLI is currently performing an operation so the controller should not take any action.
ManagementClusterRefInvalidReason reports that the Cluster management cluster reference is invalid.
MinEksAVersionWithEtcdURL is the version from which the etcd url will be set for etcdadm to pull the etcd tarball if that binary isnt cached.
No description provided by the author
No description provided by the author
No description provided by the author
MissingDependentObjectsReason reports that the Cluster is missing dependent objects.
NodesNotReadyReason reports the Cluster has some nodes that are not ready.
NodeUpgradeKind stores the Kind for NodeUpgrade.
No description provided by the author
NutanixIdentifierName is a resource identifier identifying the object by Name.
NutanixIdentifierUUID is a resource identifier identifying the object by UUID.
NutanixMachineConfigKind is the kind for a NutanixMachineConfig.
No description provided by the author
OutdatedInformationReason reports the system is waiting for stale cluster information to be refreshed.
PostUpgradeCleanupCompleted reports whether the post upgrade operations have been completed.
No description provided by the author
ReadyCondition reports a summary of other conditions, indicating an overall operational state of the cluster: all control plane and worker nodes are the right version, all nodes are ready, not including old nodes.
No description provided by the author
constants defined for cluster.go.
No description provided by the author
RollingUpdateStrategyType replaces the old machine by new one using rolling update.
RollingUpgradeInProgress reports the Cluster is executing a rolling upgrading to align the nodes to a new desired machine spec.
No description provided by the author
ScalingDownReason reports the Cluster is decreasing the number of replicas for a set of nodes.
ScalingUpReason reports the Cluster is increasing the number of replicas for a set of nodes.
No description provided by the author
SkipUpgradesForDefaultCNIConfiguredReason used to indicate the custer has been configured to skip upgrades for the default cni.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
SnowIPPoolKind is the object kind name for SnowIPPool.
No description provided by the author
SupportedMinorVersionIncrement represents the minor version skew for kubernetes version upgrades.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
UnavailableControlPlaneIPReason reports that the Cluster controlPlaneIP is already in use.
UpgraderPodCreated reports whether the upgrader pod has been created for the node upgrade.
No description provided by the author
No description provided by the author
WorkersReadyCondition reports the status on the worker nodes, indicating all those worker nodes are the right version and are ready, not including the old nodes.
# Variables
AddToScheme adds the types in this group-version to the given scheme.
DefaultKMSCacheSize is the default cache size for KMS provider (1000).
DefaultKMSTimeout is the default timeout for KMS provider (3s).
GroupVersion is group version used to register these objects.
SchemeBuilder is used to add go types to the GroupVersionKind scheme.
# Structs
AutoScalingConfiguration defines the configuration for the node autoscaling feature.
AWSDatacenterConfig is the Schema for the AWSDatacenterConfigs API.
Same as AWSDatacenterConfig except stripped down for generation of yaml file during generate clusterconfig.
AWSDatacenterConfigList contains a list of AWSDatacenterConfig.
AWSDatacenterConfigSpec defines the desired state of AWSDatacenterConfig.
AWSDatacenterConfigStatus defines the observed state of AWSDatacenterConfig.
AWSIamConfig is the Schema for the awsiamconfigs API.
+kubebuilder:object:generate=false Same as AWSIamConfig except stripped down for generation of yaml file while writing to github repo when flux is enabled.
AWSIamConfigList contains a list of AWSIamConfig.
AWSIamConfigSpec defines the desired state of AWSIamConfig.
AWSIamConfigStatus defines the observed state of AWSIamConfig.
BottlerocketConfiguration defines the Bottlerocket configuration on the host OS.
No description provided by the author
CiliumConfig contains configuration specific to the Cilium CNI.
CloudStackAvailabilityZone maps to a CAPI failure domain to distribute machines across Cloudstack infrastructure.
CloudStackDatacenterConfig is the Schema for the cloudstackdatacenterconfigs API.
Same as CloudStackDatacenterConfig except stripped down for generation of yaml file during generate clusterconfig.
CloudStackDatacenterConfigList contains a list of CloudStackDatacenterConfig.
CloudStackDatacenterConfigSpec defines the desired state of CloudStackDatacenterConfig.
CloudStackDatacenterConfigStatus defines the observed state of CloudStackDatacenterConfig.
CloudStackMachineConfig is the Schema for the cloudstackmachineconfigs API.
CloudStackMachineConfigGenerate the same as CloudStackMachineConfig except stripped down for generation of yaml file during generate clusterconfig.
CloudStackMachineConfigList contains a list of CloudStackMachineConfig.
CloudStackMachineConfigSpec defines the desired state of CloudStackMachineConfig.
CloudStackMachineConfigStatus defines the observed state of CloudStackMachineConfig.
No description provided by the author
No description provided by the author
CloudStackZone is an organizational construct typically used to represent a single datacenter, and all its physical and virtual resources exist inside that zone.
+kubebuilder:object:root=true +kubebuilder:subresource:status Cluster is the Schema for the clusters API.
+kubebuilder:object:generate=false Same as Cluster except stripped down for generation of yaml file during generate clusterconfig.
+kubebuilder:object:root=true ClusterList contains a list of Cluster.
No description provided by the author
ClusterSpec defines the desired state of Cluster.
ClusterStatus defines the observed state of Cluster.
No description provided by the author
No description provided by the author
ControlPlaneRollingUpdateParams is API for rolling update strategy knobs.
ControlPlaneUpgrade is the Schema for the controlplaneupgrade API.
ControlPlaneUpgradeList contains a list of ControlPlaneUpgradeSpec.
ControlPlaneUpgradeRolloutStrategy indicates rollout strategy for cluster.
ControlPlaneUpgradeSpec defines the desired state of ControlPlaneUpgrade.
ControlPlaneUpgradeStatus defines the observed state of ControlPlaneUpgrade.
No description provided by the author
DockerDatacenterConfig is the Schema for the DockerDatacenterConfigs API.
Same as DockerDatacenterConfig except stripped down for generation of yaml file during generate clusterconfig.
DockerDatacenterConfigList contains a list of DockerDatacenterConfig.
DockerDatacenterConfigSpec defines the desired state of DockerDatacenterConfig.
DockerDatacenterConfigStatus defines the observed state of DockerDatacenterConfig.
No description provided by the author
No description provided by the author
EtcdEncryption defines the configuration for ETCD encryption.
EtcdEncryptionProvider defines the configuration for ETCD encryption providers.
ExternalEtcdConfiguration defines the configuration options for using unstacked etcd topology.
Flux defines the Git repository options for Flux v2.
FluxConfig is the Schema for the fluxconfigs API and defines the configurations of the Flux GitOps Toolkit and Git repository it links to.
+kubebuilder:object:generate=false Same as FluxConfig except stripped down for generation of yaml file while writing to github repo when flux is enabled.
FluxConfigList contains a list of FluxConfig.
FluxConfigSpec defines the desired state of FluxConfig.
FluxConfigStatus defines the observed state of FluxConfig.
No description provided by the author
No description provided by the author
No description provided by the author
+kubebuilder:object:generate=false Same as GitOpsConfig except stripped down for generation of yaml file while writing to github repo when flux is enabled.
GitOpsConfigList contains a list of GitOpsConfig.
GitOps defines the configurations of GitOps Toolkit and Git repository it links to.
GitOpsConfigStatus defines the observed state of GitOpsConfig.
No description provided by the author
HostOSConfiguration defines the configuration settings on the host OS.
ImageResource resources for container image.
IPPool defines an ip pool with ip range, subnet and gateway.
KindnetdConfig contains configuration specific to the Kindnetd CNI.
KMS defines the configuration for KMS Encryption provider.
MachineDeploymentUpgrade is the Schema for the machinedeploymentupgrades API.
MachineDeploymentUpgradeList contains a list of MachineDeploymentUpgrade.
MachineDeploymentUpgradeSpec defines the desired state of MachineDeploymentUpgrade.
MachineDeploymentUpgradeStatus defines the observed state of MachineDeploymentUpgrade.
MachineHealthCheck allows to configure timeouts for machine health checks.
No description provided by the author
MapRoles defines IAM role to a username and set of groups mapping using EKSConfigMap BackendMode.
MapUsers defines IAM role to a username and set of groups mapping using EKSConfigMap BackendMode.
No description provided by the author
NodeUpgrade is the Schema for the nodeupgrades API.
NodeUpgradeList contains a list of NodeUpgrade.
NodeUpgradeSpec defines the desired state of NodeUpgrade.
NodeUpgradeStatus defines the observed state of NodeUpgrade.
NTPConfiguration defines the NTP configuration on the host OS.
NutanixCategoryIdentifier holds the identity of a Nutanix Prism Central category.
NutanixDatacenterConfig is the Schema for the NutanixDatacenterConfigs API
+kubebuilder:object:root=true +kubebuilder:subresource:status.
NutanixDatacenterConfigGenerate is same as NutanixDatacenterConfig except stripped down for generation of yaml file during generate clusterconfig
+kubebuilder:object:generate=false.
NutanixDatacenterConfigList contains a list of NutanixDatacenterConfig
+kubebuilder:object:root=true.
NutanixDatacenterConfigSpec defines the desired state of NutanixDatacenterConfig.
NutanixDatacenterConfigStatus defines the observed state of NutanixDatacenterConfig.
NutanixDatacenterFailureDomain defines the failure domain for the Nutanix Datacenter.
NutanixMachineConfig is the Schema for the nutanix machine configs API
+kubebuilder:object:root=true +kubebuilder:subresource:status.
NutanixMachineConfigGenerate is same as NutanixMachineConfig except stripped down for generation of yaml file during generate clusterconfig
+kubebuilder:object:generate=false.
NutanixMachineConfigList contains a list of NutanixMachineConfig
+kubebuilder:object:root=true.
NutanixMachineConfigSpec defines the desired state of NutanixMachineConfig.
NutanixMachineConfigStatus defines the observed state of NutanixMachineConfig.
NutanixResourceIdentifier holds the identity of a Nutanix Prism resource (cluster, image, subnet, etc.)
+union.
Need to override metav1.ObjectMeta as a hack due to the following issue of creationTimestamp being printed: https://github.com/kubernetes/kubernetes/issues/86811 Add more fields based on https://github.com/kubernetes/apimachinery/blob/master/pkg/apis/meta/v1/types.go#L114-L288 and https://github.com/kubernetes-sigs/cluster-api/blob/bf790fc2a53614ff5d3405c83c0de0dd3303bb1f/api/v1alpha2/common_types.go#L67-L128 as needed.
OCINamespace represents an entity in a local reigstry to group related images.
OIDCConfig is the Schema for the oidcconfigs API.
+kubebuilder:object:generate=false Same as OIDCConfig except stripped down for generation of yaml file while writing to github repo when flux is enabled.
OIDCConfigList contains a list of OIDCConfig.
No description provided by the author
OIDCConfigSpec defines the desired state of OIDCConfig.
OIDCConfigStatus defines the observed state of OIDCConfig.
PackageConfiguration for installing EKS Anywhere curated packages.
PackageControllerConfiguration configure aspects of package controller.
PackageControllerCronJob configure aspects of package controller.
PackageControllerResources resource aspects of package controller.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
RegistryMirrorConfiguration defines the settings for image registry mirror.
No description provided by the author
No description provided by the author
SnowDatacenterConfig is the Schema for the SnowDatacenterConfigs API.
Same as SnowDatacenterConfig except stripped down for generation of yaml file during generate clusterconfig.
SnowDatacenterConfigList contains a list of SnowDatacenterConfig.
SnowDatacenterConfigSpec defines the desired state of SnowDatacenterConfig.
SnowDatacenterConfigStatus defines the observed state of SnowDatacenterConfig.
SnowDirectNetworkInterface defines a direct network interface (DNI) configuration.
SnowIPPool is the Schema for the SnowIPPools API.
SnowIPPoolGenerate is same as SnowIPPool except stripped down for generation of yaml file during generate clusterconfig.
SnowIPPoolList contains a list of SnowIPPool.
SnowIPPoolSpec defines the desired state of SnowIPPool.
SnowIPPoolStatus defines the observed state of SnowIPPool.
SnowMachineConfig is the Schema for the SnowMachineConfigs API.
Same as SnowMachineConfig except stripped down for generation of yaml file during generate clusterconfig.
SnowMachineConfigList contains a list of SnowMachineConfig.
SnowMachineConfigSpec defines the desired state of SnowMachineConfigSpec.
SnowMachineConfigStatus defines the observed state of SnowMachineConfig.
SnowNetwork specifies the network configurations for snow.
TinkerbellDatacenterConfig is the Schema for the TinkerbellDatacenterConfigs API.
Same as TinkerbellDatacenterConfig except stripped down for generation of yaml file during generate clusterconfig.
TinkerbellDatacenterConfigList contains a list of TinkerbellDatacenterConfig.
TinkerbellDatacenterConfigSpec defines the desired state of TinkerbellDatacenterConfig.
TinkerbellDatacenterConfigStatus defines the observed state of TinkerbellDatacenterConfig
Important: Run "make generate" to regenerate code after modifying this file.
TinkerbellMachineConfig is the Schema for the tinkerbellmachineconfigs API.
Same as TinkerbellMachineConfig except stripped down for generation of yaml file during generate clusterconfig.
TinkerbellMachineConfigList contains a list of TinkerbellMachineConfig.
TinkerbellMachineConfigSpec defines the desired state of TinkerbellMachineConfig.
TinkerbellMachineConfigStatus defines the observed state of TinkerbellMachineConfig.
TinkerbellTemplateConfig is the Schema for the TinkerbellTemplateConfigs API.
Same as TinkerbellTemplateConfig except stripped down for generation of yaml file during generate clusterconfig.
TinkerbellTemplateConfigList contains a list of TinkerbellTemplateConfig.
TinkerbellTemplateConfigSpec defines the desired state of TinkerbellTemplateConfig.
TinkerbellTemplateConfigStatus defines the observed state of TinkerbellTemplateConfig.
UserConfiguration defines the configuration of the user to be added to the VM.
VSphereDatacenterConfig is the Schema for the VSphereDatacenterConfigs API.
Same as VSphereDatacenterConfig except stripped down for generation of yaml file during generate clusterconfig.
VSphereDatacenterConfigList contains a list of VSphereDatacenterConfig.
VSphereDatacenterConfigSpec defines the desired state of VSphereDatacenterConfig.
VSphereDatacenterConfigStatus defines the observed state of VSphereDatacenterConfig.
VSphereMachineConfig is the Schema for the vspheremachineconfigs API.
VSphereMachineConfigGenerate Same as VSphereMachineConfig except stripped down for generation of yaml file during generate clusterconfig.
VSphereMachineConfigList contains a list of VSphereMachineConfig.
VSphereMachineConfigSpec defines the desired state of VSphereMachineConfig.
VSphereMachineConfigStatus defines the observed state of VSphereMachineConfig.
No description provided by the author
WorkerNodesRollingUpdateParams is API for rolling update strategy knobs.
WorkerNodesUpgradeRolloutStrategy indicates rollout strategy for cluster.
# Interfaces
+kubebuilder:object:generate=false Interface for getting Kind field for Cluster type.
Marshallable represents all "generate" CRDs structs +kubebuilder:object:generate=false.
+kubebuilder:object:generate=false Interface for getting DatacenterRef fields for Cluster type.
# Type aliases
+kubebuilder:object:generate=false.
No description provided by the author
No description provided by the author
CloneMode describes the clone mode to be used when cloning vSphere VMs.
+kubebuilder:object:generate=false.
No description provided by the author
No description provided by the author
No description provided by the author
EksaVersion is the semver identifying the release of eks-a used to populate the cluster components.
FailureReasonType is a type for defining failure reasons.
HardwareSelector models a simple key-value selector used in Tinkerbell provisioning.
No description provided by the author
NutanixIdentifierType is an enumeration of different resource identifier types.
NutanixMachineConfigGenerateOpt is a functional option that can be passed to NewNutanixMachineConfigGenerate to customize the generated machine config
+kubebuilder:object:generate=false.
No description provided by the author
No description provided by the author
No description provided by the author
+kubebuilder:object:generate=false.
UpgradeRolloutStrategyType defines the types of upgrade rollout strategies.