2个不稳定版本
0.2.0 | 2020年12月29日 |
---|---|
0.1.0 | 2020年12月23日 |
#38 in #zone
23KB
494 行
Migamake Cloudflare API
此crate是对Cloudflare API的包装。它包括对3个端点的支持-
- 列出区域
- 创建DNS记录
- 删除DNS记录
此crate使用API令牌进行身份验证。您可以在cloudflare仪表板上创建具有适当权限的令牌。您可以在API令牌中了解更多信息。从本文档中 -
API令牌为使用Cloudflare API提供了一种新的身份验证方式。它们允许对资源进行范围和权限访问,并使用符合RFC的Authorization Bearer Token Header。
安装
将此库添加到现有项目 -
cargo add migamake-api-cloudflare
构建
克隆仓库并构建项目 -
cargo build
文档
要本地查看文档,请运行 -
cargo doc --no-deps --open
运行测试
要运行单元测试 -
cargo test --lib
要运行所有测试,包括集成测试 -(需要环境变量CLOUDFLARE_API_KEY、CLOUDFLARE_DOMAIN和CLOUDFLARE_ZONE)
cargo test
用法
此示例演示了库的使用方法。示例创建了一个TXT记录。
[dependencies]
migamake-api-cloudflare = { version = "0.1"}
use migamake_api_cloudflare::{Cloudflare, dns};
fn main() {
let domain = "example.com".into();
let zoneid = "some id";
// initializes the object using an environment variable CLOUDFLARE_API_KEY
// or the api key could be passed to the default method
// let cloudflare = Cloudflare::default(Some("api-key").into());
let cloudflare = Cloudflare::default(None);
let mut txt_dns_record = dns::TXTRecord::new();
txt_dns_record.name = domain;
txt_dns_record.content = "create a txt record".into();
let response = cloudflare.create_dns_record(txt_dns_record, &zoneid);
let res = response.unwrap();
if res.success {
println!("{}", "Record created");
}
else{
println!("{:?}", res.errors);
}
}
依赖项
~5–7.5MB
~158K SLoC