package version
import "k8s.io/apimachinery/pkg/util/version"
Package version provides utilities for version number comparisons
Index ¶
- func Itoa(i uint) string
- type Version
- func HighestSupportedVersion(versions []string) (*Version, error)
- func MajorMinor(major, minor uint) *Version
- func MustParse(str string) *Version
- func MustParseGeneric(str string) *Version
- func MustParseMajorMinor(str string) *Version
- func MustParseSemantic(str string) *Version
- func Parse(str string) (*Version, error)
- func ParseGeneric(str string) (*Version, error)
- func ParseMajorMinor(str string) (*Version, error)
- func ParseSemantic(str string) (*Version, error)
- func (v *Version) AddMinor(diff uint) *Version
- func (v *Version) AtLeast(min *Version) bool
- func (v *Version) BuildMetadata() string
- func (v *Version) Compare(other string) (int, error)
- func (v *Version) Components() []uint
- func (v *Version) EqualTo(other *Version) bool
- func (v *Version) GreaterThan(other *Version) bool
- func (v *Version) Info() *apimachineryversion.Info
- func (v *Version) LessThan(other *Version) bool
- func (v *Version) Major() uint
- func (v *Version) Minor() uint
- func (v *Version) OffsetMinor(offset int) *Version
- func (v *Version) Patch() uint
- func (v *Version) PreRelease() string
- func (v *Version) String() string
- func (v *Version) SubtractMinor(diff uint) *Version
- func (v *Version) WithBuildMetadata(buildMetadata string) *Version
- func (v *Version) WithInfo(info apimachineryversion.Info) *Version
- func (v *Version) WithMajor(major uint) *Version
- func (v *Version) WithMinor(minor uint) *Version
- func (v *Version) WithPatch(patch uint) *Version
- func (v *Version) WithPreRelease(preRelease string) *Version
Functions ¶
func Itoa ¶
Types ¶
type Version ¶
type Version struct {
// contains filtered or unexported fields
}
Version is an opaque representation of a version number
func HighestSupportedVersion ¶
HighestSupportedVersion returns the highest supported version This function assumes that the highest supported version must be v1.x.
func MajorMinor ¶
MajorMinor returns a version with the provided major and minor version.
func MustParse ¶
MustParse is like Parse except that it panics on error
func MustParseGeneric ¶
MustParseGeneric is like ParseGeneric except that it panics on error
func MustParseMajorMinor ¶
MustParseMajorMinor is like ParseMajorMinor except that it panics on error
func MustParseSemantic ¶
MustParseSemantic is like ParseSemantic except that it panics on error
func Parse ¶
Parse tries to do ParseSemantic first to keep more information. If ParseSemantic fails, it would just do ParseGeneric.
func ParseGeneric ¶
ParseGeneric parses a "generic" version string. The version string must consist of two or more dot-separated numeric fields (the first of which can't have leading zeroes), followed by arbitrary uninterpreted data (which need not be separated from the final numeric field by punctuation). For convenience, leading and trailing whitespace is ignored, and the version can be preceded by the letter "v". See also ParseSemantic.
func ParseMajorMinor ¶
ParseMajorMinor parses a "generic" version string and returns a version with the major and minor version.
func ParseSemantic ¶
ParseSemantic parses a version string that exactly obeys the syntax and semantics of the "Semantic Versioning" specification (http://semver.org/) (although it ignores leading and trailing whitespace, and allows the version to be preceded by "v"). For version strings that are not guaranteed to obey the Semantic Versioning syntax, use ParseGeneric.
func (*Version) AddMinor ¶
AddMinor returns the version diff minor versions forward, with the same major and no patch.
func (*Version) AtLeast ¶
AtLeast tests if a version is at least equal to a given minimum version. If both Versions are Semantic Versions, this will use the Semantic Version comparison algorithm. Otherwise, it will compare only the numeric components, with non-present components being considered "0" (ie, "1.4" is equal to "1.4.0").
func (*Version) BuildMetadata ¶
BuildMetadata returns the build metadata, if v is a Semantic Version, or ""
func (*Version) Compare ¶
Compare compares v against a version string (which will be parsed as either Semantic or non-Semantic depending on v). On success it returns -1 if v is less than other, 1 if it is greater than other, or 0 if they are equal.
func (*Version) Components ¶
Components returns the version number components
func (*Version) EqualTo ¶
EqualTo tests if a version is equal to a given version.
func (*Version) GreaterThan ¶
GreaterThan tests if a version is greater than a given version.
func (*Version) Info ¶
func (v *Version) Info() *apimachineryversion.Info
Info returns the version information of a component. Deprecated: Use Info() from effective version instead.
func (*Version) LessThan ¶
LessThan tests if a version is less than a given version. (It is exactly the opposite of AtLeast, for situations where asking "is v too old?" makes more sense than asking "is v new enough?".)
func (*Version) Major ¶
Major returns the major release number
func (*Version) Minor ¶
Minor returns the minor release number
func (*Version) OffsetMinor ¶
SubtractMinor returns the version with offset from the original minor, with the same major and no patch. If -offset >= current minor, the minor would be 0.
func (*Version) Patch ¶
Patch returns the patch release number if v is a Semantic Version, or 0
func (*Version) PreRelease ¶
PreRelease returns the prerelease metadata, if v is a Semantic Version, or ""
func (*Version) String ¶
String converts a Version back to a string; note that for versions parsed with ParseGeneric, this will not include the trailing uninterpreted portion of the version number.
func (*Version) SubtractMinor ¶
SubtractMinor returns the version diff minor versions back, with the same major and no patch. If diff >= current minor, the minor would be 0.
func (*Version) WithBuildMetadata ¶
WithBuildMetadata returns copy of the version object with requested buildMetadata
func (*Version) WithInfo ¶
func (v *Version) WithInfo(info apimachineryversion.Info) *Version
WithInfo returns copy of the version object. Deprecated: The Info field has been removed from the Version struct. This method no longer modifies the Version object.
func (*Version) WithMajor ¶
WithMajor returns copy of the version object with requested major number
func (*Version) WithMinor ¶
WithMinor returns copy of the version object with requested minor number
func (*Version) WithPatch ¶
WithPatch returns copy of the version object with requested patch number
func (*Version) WithPreRelease ¶
WithPreRelease returns copy of the version object with requested prerelease
Source Files ¶
doc.go version.go
- Version
- v0.33.0 (latest)
- Published
- Apr 11, 2025
- Platform
- linux/amd64
- Imports
- 7 packages
- Last checked
- 3 hours ago –
Tools for package owners.