terraform-version
is a short parser and match calculator for terraform version constraint syntax.
It follows the terraform semantic constraints.
toml
[dependencies]
terraform-version = "0.3"
Compiler support: requires rustc 1.67+
```rust use terraform_version::{Version, VersionRequirement, NumericIdentifiers};
fn main() {
let version_req = VersionRequirement::parse("< 5.4.3, >= 1.2.3").unwrap();
let version = Version::parse("1.2.3").unwrap();
assert!(version.matches(&version_req));
let version = Version::parse("5.4.4").unwrap();
assert!(!version.matches(&version_req));
let version_req = VersionRequirement::parse("= 1.2.3-beta").unwrap();
let version = Version::parse("1.2.3-beta").unwrap();
assert!(version.matches(&version_req));
let version = Version {
numeric_identifiers: NumericIdentifiers::new(vec![1, 2, 3]),
suffix: None
};
assert!(!version.matches(&version_req));
} ```
terraform-version
is provided under the MIT license. See LICENSE.