10 个版本
0.3.2 | 2023年9月1日 |
---|---|
0.2.8 |
|
0.2.6 | 2022年12月5日 |
0.2.5 | 2022年8月19日 |
0.0.1 | 2021年11月14日 |
#1281 in 异步
3.5MB
61K SLoC
rusty_falcon
基于 Rust 的 CrowdStrike Falcon API 的 SDK
rusty_falcon 文档可在 docs.rs 上找到。用户建议与在 开发者门户 上发布的全面 CrowdStrike API 文档一起查阅此 rusty_falcon 文档。了解 SDK 的最简单方法是查阅基于 SDK 构建的示例。
快速入门
为了快速开始,最简单、最高级别的方法是实例化 easy::client::FalconHandle
。最便捷的方法是使用 easy::client::FalconHandle::from_env
函数,该函数将读取以下环境变量以使用 falcon 云进行身份验证:FALCON_CLIENT_ID
、FALCON_CLIENT_SECRET
和 FALCON_CLOUD
。除非您已经有了 CrowdStrike 密钥对,否则您可以在 Falcon Portal 上创建一个新的密钥对。
use rusty_falcon::apis::sensor_download_api;
use rusty_falcon::easy::client::FalconHandle;
#[tokio::main]
async fn main() {
// Fetch credentials from environment variables and establish OAuth2 connection
let falcon = FalconHandle::from_env()
.await
.expect("Could not authenticate with CrowdStrike API");
// Call one particular API end-point using the authenticated client
let response = sensor_download_api::get_sensor_installers_ccidby_query(&falcon.cfg)
.await
.expect("Could not fetch CCID");
// Response objects returned from APIs usually follow the same pattern of having
// 'errors', 'meta', and 'resources' fields. It is recommended to check for possible
// application errors:
if !response.errors.is_empty() {
eprintln!("Errors occurred while getting Falcon CCID: {:?}", response.errors);
}
// Print response from the API:
println!("{:?}", response.resources)
}
示例
现成的示例可在 git 仓库 中找到。
从 OpenApi 规范生成模型
此 API 模型是通过使用 Rust 语言的 OpenApi 生成器从 OpenApi 规范生成的。
注意:在 OpenApi 规范中,如果需要,请将版本更新为 `rolling`,并更新以下列表中的版本。这将防止出现更新过长的 PR。
生成 api
和 model
的示例命令
openapi-generator generate -g rust -i swagger.json -o ./new
OpenApi 规范版本
2023-08-23T23:00:01Z
获取帮助
rusty_falcon 是一个开源项目,不是CrowdStrike的产品。因此,它没有正式的支持,无论是明示的还是暗示的。
如果您在使用 rusty_falcon 时遇到任何问题,您可以在我们的Github仓库上创建一个问题,用于报告错误、增强或其他请求。
rusty_falcon 项目会定期更新,以反映CrowdStrike API的最新添加。SDK用户建议密切关注最新版本,以确保在CrowdStrike API发生不兼容变更的情况下,功能仍然正常。
依赖项
~5–20MB
~282K SLoC