kube_quantity - Kubernetes Quantity Parser
kube_quantity is a library adding arithmetic operations to the Quantity
type from the k8s-openapi crate.
Installation
Run the following Cargo command in your project directory to add the latest stable version:
Or add the following line to your Cargo.toml:
[]
= "0.9.0"
Upgrading
Please check the CHANGELOG when upgrading.
Usage
Parsing of quantities
use Quantity;
use ;
// Parse from &str
let quantity = "1Ki";
let quantity: = quantity.try_into;
assert_eq!;
// Parse from a String
let quantity = Stringfrom;
let quantity: = quantity.try_into;
assert_eq!;
// Parse from a `k8s_openapi` Quantity
let quantity = Quantity;
let quantity: = quantity.try_into;
assert_eq!;
Addition of quantities
use Quantity;
use ;
// Try parsing k8s quantities
let q1: = Quantity.try_into;
let q2: = Quantity.try_into;
// 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!;
use Quantity;
use ;
// Try parsing k8s quantities
let q1: = Quantity.try_into;
let q2: = Quantity.try_into;
// 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!;
use Quantity;
use ;
let q1: = Quantity.try_into;
let q2: = Quantity.try_into;
let mut q1 = q1.unwrap;
q1 += q2.unwrap;
let q1: Quantity = q1.into;
assert_eq!;
Multiplication of quantities
use Quantity;
use ;
// Try parsing k8s quantities
let q1: = Quantity.try_into;
// Multiply parsed quantities
let q1: ParsedQuantity = q1.unwrap * 2;
// Convert parsed quantity back into a k8s quantity
let q2: Quantity = q1.into;
assert_eq!;
use Quantity;
use ;
// Try parsing k8s quantities
let q1: = Quantity.try_into;
let mut q1: ParsedQuantity = q1.unwrap;
// Multiply parsed quantities
q1 *= 2;
// Convert parsed quantity back into a k8s quantity
let q2: Quantity = q1.into;
assert_eq!;
Division of quantities
use Quantity;
use ;
// Try parsing k8s quantities
let q1: = Quantity.try_into;
// Multiply parsed quantities
let q1: ParsedQuantity = q1.unwrap / 2;
// Convert parsed quantity back into a k8s quantity
let q2: Quantity = q1.into;
assert_eq!;
use Quantity;
use ;
// Try parsing k8s quantities
let q1: = Quantity.try_into;
let mut q1: ParsedQuantity = q1.unwrap;
// Multiply parsed quantities
q1 /= 3;
// Convert parsed quantity back into a k8s quantity
let q2: Quantity = q1.into;
assert_eq!;
Subtraction of quantities
use Quantity;
use ;
// Try parsing k8s quantities
let q1: = Quantity.try_into;
let q2: = Quantity.try_into;
// 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!;
use Quantity;
use ;
// Try parsing k8s quantities
let q1: = Quantity.try_into;
let q2: = Quantity.try_into;
let mut q1 = q1.unwrap;
q1 -= q2.unwrap;
let q1: Quantity = q1.into;
assert_eq!;
Comparison of quantities
use Quantity;
use ;
// Parse directly from &str
let q1 = "5Ki";
let q1: = q1.try_into;
let q1 = q1.unwrap;
assert_eq!;
// Parse from a `k8s_openapi` Quantity
let q2 = Quantity;
let q2: = q2.try_into;
let q2 = q2.unwrap;
assert_eq!;
// Compare byte amount equality
assert!;
use Quantity;
use ;
// Parse directly from &str
let q1 = "1Ki";
let q1: = q1.try_into;
let q1 = q1.unwrap;
assert_eq!;
// Parse from a `k8s_openapi` Quantity
let q2 = Quantity;
let q2: = q2.try_into;
let q2 = q2.unwrap;
assert_eq!;
// Compare byte amount equality
assert_eq!;
License
Apache 2.0 licensed. See LICENSE for details.