1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2017年12月21日 |
---|
#46 在 #role
62KB
1.5K SLoC
Chef 对象
此库依赖于 chef_api
来实现大部分功能,但提供了一套常用 Chef 对象的模型,例如节点、角色和环境。
用法
模型在 serde_json
的 Value 类型上下文中实现了一个 try_from()
版本 - 这是所有请求返回的内容。
use chef_api::api_client::{ApiClient, Execute};
use chef::models::Node;
let client = ApiClient::from_credentials(None)?;
let node = client.nodes().node("my_node").get()?;
let node: Node = Node::try_from(node)?;
println!("Node name is {}", node.name.unwrap());
一旦 Rust 中的 try_from
稳定,我们将切换到那个。
列表
许多 Chef 服务器的 API 返回一个项目列表。模型将尝试将这些列表转换为 Iterator
。
use chef_api::api_client::{ApiClient, Execute};
use chef::models::NodeList;
let client = ApiClient::from_credentials(None)?;
let nodes: NodeList = client.nodes().get()?.into();
for n in nodes {
println!("saw node: {}", n);
}
依赖项
~18MB
~369K SLoC