terraform-version

pipeline status MIT licensed Crates.io

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+

Example

```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));

} ```

License

terraform-version is provided under the MIT license. See LICENSE.