kube_quantity
is a library adding arithmetic operations to the Quantity
type from the k8s-openapi
crate.
Run the following Cargo command in your project directory to add the latest stable version:
bash
cargo add kube_quantity
Or add the following line to your Cargo.toml:
toml
[dependencies]
kube_quantity = "0.1.0"
Please check the CHANGELOG when upgrading.
```rust use k8sopenapi::apimachinery::pkg::api::resource::Quantity; use kubequantity::{ParseQuantityError, ParsedQuantity};
// Try parsing k8s quantities
let q1: Result
// Add parsed quantities let q3: ParsedQuantity = q1.unwrap() + q2.unwrap(); // Convert parsed quantity back into a k8s quantity let q3: Quantity = q3.into();
assert_eq!(q3.0, "3Ki"); ```
```rust use k8sopenapi::apimachinery::pkg::api::resource::Quantity; use kubequantity::{ParseQuantityError, ParsedQuantity};
let q1: Result
let mut q1 = q1.unwrap(); q1 += q2.unwrap();
let q1: Quantity = q1.into();
assert_eq!(q1.0, "12M");
```
```rust use k8sopenapi::apimachinery::pkg::api::resource::Quantity; use kubequantity::{ParseQuantityError, ParsedQuantity};
// Try parsing k8s quantities
let q1: Result
// Subtract parsed quantities let q3: ParsedQuantity = q1.unwrap() - q2.unwrap(); // Convert parsed quantity back into a k8s quantity let q3: Quantity = q3.into();
assert_eq!(q3.0, "500k"); ```
```rust use k8sopenapi::apimachinery::pkg::api::resource::Quantity; use kubequantity::{ParseQuantityError, ParsedQuantity};
// Try parsing k8s quantities
let q1: Result
let mut q1 = q1.unwrap(); q1 -= q2.unwrap();
let q1: Quantity = q1.into();
assert_eq!(q1.0, "9500M"); ```
Apache 2.0 licensed. See LICENSE for details.