lrzcc
API bindings and CLI application written in Rust for LRZ-specific features of the Openstack-based LRZ Compute Cloud, https://cc.lrz.de, first and foremost the budgeting system.
Installation
Install the tool via cargo:
Usage
As a general note, use the -h/--help to find out more about the specific
commands of the tool.
API Access
As with the normal Openstack CLI client you need to source your Openstack RC file to access the API. You can download it when clicking on you username in the top-right corner in the webui and then "OpenStack RC File v3".
Source it via:
replacing di12abc with you own username, and then enter your password.
Note: this stores you credentials in environment variables starting with
OS_ for OpenStack.
User Workflows
Get Own User
Note: role 1 indicates that you are a normal user, role 2 means you are a master user.
Display Cloud Usage
Note: the -f json tells the tool to simply output the JSON response from
the API.
List Flavor Prices
Calculate Own Consumption and Cost
View User and Project Budget
Check of Budget is Over
Show Budget Over Tree
This hierarchical view also shows a breakdown of the cost down to the individual servers and is what the webui uses:
Note: the -f json tells the tool to simply output the JSON response from
the API.
Master User Workflows
List Own Project and Users
List Budgets of Own Project
List Budget Over Status of Project's Users
Show Budget Over Tree of Project's Users
This hierarchical view also shows a breakdown of the cost down to the individual users and servers and is what the webui uses:
Note: the -f json tells the tool to simply output the JSON response from
the API.
Modify Budgets
Note: you cannot set a budget below the already acrued costs or modify the budget of a past year.
Library
To use the library add the following to your Cargo.toml under [dependencies]:
= 1
After that you create a Token and Api object to interact with the API:
use ;
// let token = Token::from_str("abcdefg...").unwrap();
let token = new.unwrap;
let api = new.unwrap;
println!;