type EtcdVersion … // ParseEtcdVersion parses a SemVer string to an EtcdVersion. func ParseEtcdVersion(s string) (*EtcdVersion, error) { … } // MustParseEtcdVersion parses a SemVer string to an EtcdVersion and panics if the parse fails. func MustParseEtcdVersion(s string) *EtcdVersion { … } // String returns the version in SemVer string format. func (v *EtcdVersion) String() string { … } // Equals returns true if the versions are exactly equal. func (v *EtcdVersion) Equals(o *EtcdVersion) bool { … } // MajorMinorEquals returns true if the major and minor parts of the versions are equal; // if only patch versions differ, this returns true. func (v *EtcdVersion) MajorMinorEquals(o *EtcdVersion) bool { … } type EtcdStorageVersion … const storageUnknown … const storageEtcd2 … const storageEtcd3 … // ParseEtcdStorageVersion parses an etcd storage version string to an EtcdStorageVersion. func ParseEtcdStorageVersion(s string) (EtcdStorageVersion, error) { … } // MustParseEtcdStorageVersion parses an etcd storage version string to an EtcdStorageVersion and // panics if the parse fails. func MustParseEtcdStorageVersion(s string) EtcdStorageVersion { … } // String returns the text representation of the EtcdStorageVersion, 'etcd2' or 'etcd3'. func (v EtcdStorageVersion) String() string { … } type EtcdVersionPair … // ParseEtcdVersionPair parses a "<version>/<storage-version>" string to an EtcdVersionPair. func ParseEtcdVersionPair(s string) (*EtcdVersionPair, error) { … } // String returns "<version>/<storage-version>" string of the EtcdVersionPair. func (vp *EtcdVersionPair) String() string { … } // Equals returns true if both the versions and storage versions are exactly equal. func (vp *EtcdVersionPair) Equals(o *EtcdVersionPair) bool { … } type SupportedVersions … // NextVersion returns the next supported version after the given current version, or nil if no // next version exists. func (sv SupportedVersions) NextVersion(current *EtcdVersion) *EtcdVersion { … } // NextVersionPair returns the next supported version after the given current version and infers // the storage version from the major version part of the next version. func (sv SupportedVersions) NextVersionPair(current *EtcdVersionPair) *EtcdVersionPair { … } // ParseSupportedVersions parses a list of etcd versions. func ParseSupportedVersions(list []string) (SupportedVersions, error) { … }