1 个稳定版本
1.0.0 | 2024 年 8 月 16 日 |
---|
#637 在 命令行工具
每月 159 次下载
225KB
7K SLoC
lrzcc
使用 Rust 编写的 API 绑定和 CLI 应用程序,用于 Openstack 基础的 LRZ 计算云的 LRZ 特定功能,首先是最主要的预算系统,https://cc.lrz.de。
安装
使用 cargo 工具安装此工具
cargo install lrzcc
使用方法
作为一般提示,使用 -h/--help
以获取有关工具特定命令的更多信息。
API 访问
与正常的 Openstack CLI 客户端一样,您需要源 Openstack RC 文件以访问 API。您可以在 webui 右上角单击您的用户名,然后选择 "OpenStack RC File v3" 下载它。
通过以下方式源
. di12abc-openrc.sh
将 di12abc
替换为您自己的用户名,然后输入您的密码。注意:这将在以 OS_
开头的环境变量中存储您的凭证,用于 OpenStack。
用户工作流程
获取自己的用户
lrzcc user me
注意:角色 1 表示您是普通用户,角色 2 表示您是主用户。
显示云使用情况
lrzcc -f json usage
注意:使用 -f json
告诉工具仅输出 API 的 JSON 响应。
列出风味价格
lrzcc flavor-price list
计算自己的消耗和成本
lrzcc server-consumption
lrzcc server-cost
查看用户和项目预算
lrzcc user-budget list
lrzcc project-budget list
检查预算是否超支
lrzcc user-budget over -dc
显示预算超支树
这种分层视图还显示了成本分解到单个服务器,这是 webui 所使用的。
lrzcc -f json budget-over-tree
注意:使用 -f json
告诉工具仅输出 API 的 JSON 响应。
主用户工作流程
列出自己的项目和用户
lrzcc project list
lrzcc user list -p <project_id/name>
列出自己的项目预算
lrzcc user-budget list -p <project_id/name>
列出项目用户的预算状态
lrzcc user-budget over -p <project_id/name> -dc
显示项目用户预算树
这种分层视图还显示了成本分解到单个用户和服务器,这是 webui 所使用的。
lrzcc -f json budget-over-tree -p <project_id/name>
注意:使用 -f json
告诉工具仅输出 API 的 JSON 响应。
修改预算
lrzcc user-budget modify <user_budget_id> -a <amount>
lrzcc project-budget modify <project_budget_id> -a <amount>
注意:您不能设置低于已产生成本的预算或修改过去一年的预算。
库
要使用此库,请将以下内容添加到您的 Cargo.toml
文件中,位于 [dependencies]
lrzcc = 1
之后,您创建一个 Token
和 Api
对象来与 API 交互
use lrzcc::{Token, Api};
// let token = Token::from_str("abcdefg...").unwrap();
let token = Token::new(
auth_url.as_str(),
username.as_str(),
password.as_str(),
project_name.as_str(),
user_domain_name.as_str(),
project_domain_id.as_str(),
).unwrap();
let api = Api::new("https://cc.lrz.de:8000/api", token, None, None).unwrap();
println!("{:?}", api.user.me());
依赖项
~6–20MB
~319K SLoC