# Functions

CloneAndAddLabel clones the given map and returns a new map with the given key and value added.
CloneSelectorAndAddLabel clones the given selector and returns a new selector with the given key and value added.
ComputeMachineSetAnnotations computes the annotations that should be set on the MachineSet.
DeploymentComplete considers a deployment to be complete once all of its desired replicas are updated and available, and no old machines are running.
FilterActiveMachineSets returns machine sets that have (or at least ought to have) machines.
FilterMachineSets returns machine sets that are filtered by filterFn (all returned ones should match filterFn).
FindNewMachineSet returns the new MS this given deployment targets (the one with the same machine template, ignoring in-place mutable fields).
FindOldMachineSets returns the old machine sets targeted by the given Deployment, within the given slice of MSes.
FindOneActiveOrLatest returns the only active or the latest machine set in case there is at most one active machine set.
GetActualReplicaCountForMachineSets returns the sum of actual replicas of the given machine sets.
GetAvailableReplicaCountForMachineSets returns the number of available machines corresponding to the given machine sets.
GetDeletingMachineCount gets the number of machines that are in the process of being deleted in a machineList.
GetProportion will estimate the proportion for the provided machine set using 1.
GetReadyReplicaCountForMachineSets returns the number of ready machines corresponding to the given machine sets.
GetReplicaCountForMachineSets returns the sum of Replicas of the given machine sets.
GetV1Beta2AvailableReplicaCountForMachineSets returns the number of available machines corresponding to the given machine sets.
GetV1Beta2ReadyReplicaCountForMachineSets returns the number of ready machines corresponding to the given machine sets.
GetV1Beta2UptoDateReplicaCountForMachineSets returns the number of up to date machines corresponding to the given machine sets.
IsRollingUpdate returns true if the strategy type is a rolling update.
IsSaturated checks if the new machine set is saturated by comparing its size with its deployment size.
MachineTemplateDeepCopyRolloutFields copies a MachineTemplateSpec and sets all fields that should be propagated in-place to nil and drops version from external references.
MachineTemplateUpToDate returns true if the current MachineTemplateSpec is up-to-date with a corresponding desired MachineTemplateSpec.
MaxRevision finds the highest revision in the machine sets.
MaxSurge returns the maximum surge machines a rolling deployment can take.
MaxUnavailable returns the maximum unavailable machines a rolling deployment can take.
NewMSNewReplicas calculates the number of replicas a deployment's new MS should have.
ReplicasAnnotationsNeedUpdate return true if the replicas annotation needs to be updated.
ResolveFenceposts resolves both maxSurge and maxUnavailable.
Revision returns the revision number of the input object.
SetDeploymentRevision updates the revision for a deployment.
SetReplicasAnnotations sets the desiredReplicas and maxReplicas into the annotations.
TotalMachineSetsReplicaSum returns sum of max(ms.Spec.Replicas, ms.Status.Replicas) across all the machine sets.

# Type aliases

MachineSetsByCreationTimestamp sorts a list of MachineSet by creation timestamp, using their names as a tie breaker.
MachineSetsByDecreasingReplicas sorts the list of MachineSets in decreasing order of replicas, using creation time (ascending order) and name (alphabetical) as tie breakers.
MachineSetsBySizeNewer sorts a list of MachineSet by size in descending order, using their creation timestamp or name as a tie breaker.
MachineSetsBySizeOlder sorts a list of MachineSet by size in descending order, using their creation timestamp or name as a tie breaker.