# Functions

New returns a new Scope with only the cluster; while processing a request in the topology/ClusterReconciler controller additional information will be added about the Cluster blueprint, current state and desired state.
NewUpgradeTracker returns an upgrade tracker with empty tracking information.

# Structs

ClusterBlueprint holds all the objects required for computing the desired state of a managed Cluster topology, including the ClusterClass and all the referenced templates.
ClusterState holds all the objects representing the state of a managed Cluster topology.
ControlPlaneBlueprint holds the templates required for computing the desired state of a managed control plane.
ControlPlaneState holds all the objects representing the state of a managed control plane.
MachineDeploymentBlueprint holds the templates required for computing the desired state of a managed MachineDeployment; it also holds a copy of the MachineDeployment metadata from Cluster.Topology, thus providing all the required info in a single place.
MachineDeploymentState holds all the objects representing the state of a managed deployment.
MachineDeploymentUpgradeTracker holds the current upgrade status and makes upgrade decisions for MachineDeployments.
Scope holds all the information to process a request in the topology/ClusterReconciler controller.
UpgradeTracker is a helper to capture the upgrade status and make upgrade decisions.

# Type aliases

MachineDeploymentsStateMap holds a collection of MachineDeployment states.